求助:关于STM32 结构体定义
#defineUSART1((USART_TypeDef*)USART1_BASE)对于上述已知:USART1_BASE地址为0x40013800;USART_TypeD...
#define USART1 ((USART_TypeDef *) USART1_BASE)
对于上述已知:USART1_BASE 地址为 0x4001 3800;
USART_TypeDef 为已经定义的结构体;
那么USART1 是怎么得到地址0X4001 3800
谢谢! 展开
对于上述已知:USART1_BASE 地址为 0x4001 3800;
USART_TypeDef 为已经定义的结构体;
那么USART1 是怎么得到地址0X4001 3800
谢谢! 展开
2个回答
展开全部
#define USART1 ((USART_TypeDef *) USART1_BASE)
即#define USART1 ((USART_TypeDef *) 0x4001 3800)
就句话的意思是,0X4001 3800是一个指向USART_TypeDef结构体的指针,现在给这指针取了一个名字USART1。
至于这个0x4001 3800是怎么来的,请看RM0008 Reference manual 文档51 页 TABLE3的第7行。
即#define USART1 ((USART_TypeDef *) 0x4001 3800)
就句话的意思是,0X4001 3800是一个指向USART_TypeDef结构体的指针,现在给这指针取了一个名字USART1。
至于这个0x4001 3800是怎么来的,请看RM0008 Reference manual 文档51 页 TABLE3的第7行。
参考资料: RM0008 Reference manual
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询