關(guān)于STM32串口通信之疑惑小結(jié)
如上圖所示,第1420行,USART1_BASE為USART1基地址,(USART_TypeDef*) USART1_BASE 的作用是將USART1_BASE強(qiáng)制轉(zhuǎn)換為 USART_TypeDef* 類型的指針,這條語句的整體作用是:將USART1_BASE強(qiáng)制轉(zhuǎn)換為 USART_TypeDef* 類型的指針,然后將這個指針命名為USART1.(個人理解:USART1是一個指向USART_Typedef結(jié)構(gòu)體類型的指針,即相當(dāng)于USART1是一塊空間的地址(首地址),在這個空間上按照 STM32的USART1寄存器地址的順序依次排列著這個結(jié)構(gòu)體的各個成員,每個結(jié)構(gòu)體成員的地址(順序)和STM32硬件上相應(yīng)的寄存器地址相照應(yīng),然后就可以通過USART1隨意使用各個寄存器了。
如圖2,圖3,易知USART_TypeDef 中成員的順序和STM32硬件上寄存器地址的順序是一 一照應(yīng)的。
圖2
)
圖3
如圖4第156行,通過指針USART1 可以訪問USART_DR寄存器
圖4
評論