/****************************************************************************** * 版权所有:苏州领慧立芯科技有限公司 * Copyright (c) 2020-2025 Suzhou Legendsemi Technology Co., Ltd. ****************************************************************************** * All rights reserved. Distributed under MIT license. * The file is encoded in UTF-8 without signature. * @file lh32m0g3x.h * @version 2025-09-01 ******************************************************************************/ /* Define to prevent recursive inclusion -------------------------------------*/ #ifndef __LH32M0G3X_H #define __LH32M0G3X_H #ifdef __cplusplus extern "C" { #endif /* Includes ------------------------------------------------------------------*/ #include /* Defines -------------------------------------------------------------------*/ #ifdef cplusplus #define __RO volatile #else #define __RO volatile const //Read Only #endif #define __WO volatile //Write Only #define __RW volatile //Read and Write #define SET_BIT(REG, BIT) ((REG) |= (BIT)) #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT)) #define READ_BIT(REG, BIT) ((REG) & (BIT)) #define CLEAR_REG(REG) ((REG) = (0x0)) #define WRITE_REG(REG, VAL) ((REG) = (VAL)) #define READ_REG(REG) ((REG)) #define MODIFY_REG(REG, CLEARMASK, SETMASK) WRITE_REG((REG), (((READ_REG(REG)) & (~(CLEARMASK))) | (SETMASK))) /* Registers Map -------------------------------------------------------------*/ //---------------------------------------------------- //Regsiter Structure Definition for Module TIMER //---------------------------------------------------- typedef struct { __RW uint32_t CR1; /*!<控制寄存器 1*/ __RW uint32_t CR2; /*!<控制寄存器 2*/ __RW uint32_t SMCR; /*!<从模式控制寄存器*/ __RW uint32_t DIER; /*!CFG*/ __WO uint32_t CLR; /*!<状态数据清除操作*/ }MACL_TypeDef; //---------------------------------------------------- //Regsiter Structure Definition for Module DMA_CONTROL //---------------------------------------------------- typedef struct { __RW uint32_t DMA_CR; /*!<控制寄存器*/ __RO uint32_t DMA_ES; /*!<错误状态寄存器*/ __RO uint8_t RESERVED0[4]; __RW uint32_t DMA_ERQ; /*!<请求使能寄存器*/ __RO uint8_t RESERVED1[4]; __RW uint32_t DMA_EEI; /*!<错误中断使能寄存器*/ __WO uint8_t DMA_CEEI; /*!<清除错误中断使能寄存器*/ __WO uint8_t DMA_SEEI; /*!<设置错误中断使能寄存器*/ __WO uint8_t DMA_CERQ; /*!<清除请求使能寄存器*/ __WO uint8_t DMA_SERQ; /*!<设置请求使能寄存器*/ __WO uint8_t DMA_CDNE; /*!<清除完成状态标志位*/ __WO uint8_t DMA_SSRT; /*!<设置启动寄存器*/ __WO uint8_t DMA_CERR; /*!<清除错误寄存器*/ __WO uint8_t DMA_CINT; /*!<清除中断请求寄存器*/ __RO uint8_t RESERVED2[4]; __RW uint32_t DMA_INT; /*!<中断请求寄存器*/ __RO uint8_t RESERVED3[4]; __RW uint32_t DMA_ERR; /*!