标题: 关于STM32串口通信之疑惑小结 [打印本页]

作者: piaolin    时间: 2015-10-29 17:52
标题: 关于STM32串口通信之疑惑小结
图1
如上图所示,第1420行,USART1_BASE为USART1基地址,(USART_TypeDef*)USART1_BASE 的作用是将USART1_BASE强制转换为 USART_TypeDef*类型的指针,这条语句的整体作用是:将USART1_BASE强制转换为 USART_TypeDef*类型的指针,然后将这个指针命名为USART1.(个人理解:USART1是一个指向USART_Typedef结构体类型的指针,即相当于USART1是一块空间的地址(首地址),在这个空间上按照STM32的USART1寄存器地址的顺序依次排列着这个结构体的各个成员,每个结构体成员的地址(顺序)和STM32硬件上相应的寄存器地址相照应,然后就可以通过USART1随意使用各个寄存器了。


如图2,图3,易知USART_TypeDef 中成员的顺序和STM32硬件上寄存器地址的顺序是一 一照应的。
图2



)

图3


如图4第156行,通过指针USART1 可以访问USART_DR寄存器
图4









欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1