stm32F103寄存器點燈


分為三個步驟1.開啟GPIOx對應的RCC時鍾 2.開啟引腳的輸出模式速率 3.通過ODR數據寄存器發出電平信號

一、開啟GPIOB 端口時鍾

1// 開啟 GPIOB 端口 時鍾
2 RCC_APB2ENR |= (1<<3);

二、開啟引腳的輸出模式速率

首先我們把連接到 LED 燈的 GPIO 引腳 PB0 配置成輸出模式,即配置 GPIO 的端口配
置低寄存器 CRL,見圖 8-9CRL 中包含 0-7 號引腳,每個引腳占用 4 個寄存器位。
MODE 位用來配置輸出的速度, CNF 位用來配置各種輸入輸出模式。在這里我們把 PB0
置為通用推挽輸出,輸出的速度為 10M, 具體見代碼清單 8-4 


 

 

1 // 清空控制 PB0 的端口位
2 GPIOB_CRL &= ~( 0x0F<< (4*0));
3 // 配置 PB0 為通用推挽輸出,速度為 10M
4 GPIOB_CRL |= (1<<4*0);

 

三、控制引腳輸出電平

在輸出模式時,對端口位設置/清除寄存器 BSRR 寄存器、端口位清除寄存器 BRR
ODR 寄存器寫入參數即可控制引腳的電平狀態,其中操作 BSRR BRR 最終影響的都是
ODR 寄存器,然后再通過 ODR 寄存器的輸出來控制 GPIO。為了一步到位,我們在這里直
接操作 ODR 寄存器來控制 GPIO 的電平。具體見代碼清單 8-5

 

1 // PB0 輸出低電平
2 GPIOB_ODR &= ~(1<<0);

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM