新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > stm32 直接讀寫(xiě)寄存器代碼風(fēng)格總結(jié)

stm32 直接讀寫(xiě)寄存器代碼風(fēng)格總結(jié)

作者: 時(shí)間:2016-11-09 來(lái)源:網(wǎng)絡(luò) 收藏
簡(jiǎn)單的總結(jié)了一下stm32 寄存器讀寫(xiě)代碼風(fēng)格,以備后用:

根據(jù)memory mapping 直接寫(xiě)寄存器代碼風(fēng)格:

本文引用地址:http://butianyuan.cn/article/201611/317633.htm


#define GPIOA_BASE1 (uint32_t)0x40010800#define GPIOA_CRH ((uint32_t*)(GPIOA_BASE1+0x04))

轉(zhuǎn)換為指針之后,直接讀寫(xiě)

*GPIOA_CRH=0x000004B0;//A端口//復(fù)用推挽輸出

結(jié)構(gòu)體指針解決連續(xù)多個(gè)寄存器讀寫(xiě)設(shè)置:


#define Usart1_BASE	 0x40013800typedef 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)  

Usart1->CR1=0x0000000C;


評(píng)論


技術(shù)專區(qū)

關(guān)閉