/** * @file stm8_test_registers.h * @brief PB5 LED测试工程使用的最小GPIO寄存器定义。 */ #ifndef STM8_TEST_REGISTERS_H #define STM8_TEST_REGISTERS_H #include /** GPIOA输出数据寄存器地址。 */ #define GPIOA_ODR_ADDR 0x5000u /** GPIOA数据方向寄存器地址。 */ #define GPIOA_DDR_ADDR 0x5002u /** GPIOA控制寄存器1地址。 */ #define GPIOA_CR1_ADDR 0x5003u /** GPIOA控制寄存器2地址。 */ #define GPIOA_CR2_ADDR 0x5004u /** GPIOB输出数据寄存器地址。 */ #define GPIOB_ODR_ADDR 0x5005u /** GPIOB数据方向寄存器地址。 */ #define GPIOB_DDR_ADDR 0x5007u /** GPIOB控制寄存器1地址,置1表示推挽输出。 */ #define GPIOB_CR1_ADDR 0x5008u /** GPIOB控制寄存器2地址,置0表示低速输出。 */ #define GPIOB_CR2_ADDR 0x5009u /** GPIOC输出数据寄存器地址。 */ #define GPIOC_ODR_ADDR 0x500Au /** GPIOC数据方向寄存器地址。 */ #define GPIOC_DDR_ADDR 0x500Cu /** GPIOC控制寄存器1地址。 */ #define GPIOC_CR1_ADDR 0x500Du /** GPIOC控制寄存器2地址。 */ #define GPIOC_CR2_ADDR 0x500Eu /** GPIOD输出数据寄存器地址。 */ #define GPIOD_ODR_ADDR 0x500Fu /** GPIOD数据方向寄存器地址。 */ #define GPIOD_DDR_ADDR 0x5011u /** GPIOD控制寄存器1地址。 */ #define GPIOD_CR1_ADDR 0x5012u /** GPIOD控制寄存器2地址。 */ #define GPIOD_CR2_ADDR 0x5013u /** 时钟分频寄存器地址。 */ #define CLK_CKDIVR_ADDR 0x50C6u /** TIM4控制寄存器1地址。 */ #define TIM4_CR1_ADDR 0x5340u /** TIM4中断使能寄存器地址。 */ #define TIM4_IER_ADDR 0x5343u /** TIM4状态寄存器1地址。 */ #define TIM4_SR1_ADDR 0x5344u /** TIM4预分频寄存器地址。 */ #define TIM4_PSCR_ADDR 0x5347u /** TIM4自动重装载寄存器地址。 */ #define TIM4_ARR_ADDR 0x5348u /** TIM4计数器地址。 */ #define TIM4_CNTR_ADDR 0x5346u /** TIM4事件产生寄存器地址。 */ #define TIM4_EGR_ADDR 0x5345u /** PB5对应的位掩码。 */ #define PB5_MASK 0x20u /** 通过地址访问8位STM8外设寄存器。 */ #define REG8(address) (*((volatile uint8_t *)(address))) #endif