根据memory mapping 直接写寄存器代码风格:
#define GPIOA_BASE1 (uint32_t)0x40010800 #define GPIOA_CRH ((uint32_t*)(GPIOA_BASE1+0x04))
转换为指针之后,直接读写:
*GPIOA_CRH=0x000004B0; //A端口 //复用推挽输出
结构体指针解决连续多个寄存器读写设置:
#define Usart1_BASE 0x40013800 typedef struct { __IO uint32_t SR; __IO uint32_t DR; __IO uint32_t BRR; __IO uint32_t CR1; __IO uint32_t CR2; __IO uint32_t CR3; __IO uint32_t GTPR; }Usart1_typedef; #define Usart1 ((Usart1_typedef*)Usart1_BASE)
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』