分為三個步驟1.開啟GPIOx對應的RCC時鍾 2.開啟引腳的輸出模式速率 3.通過ODR數據寄存器發出電平信號
一、開啟GPIOB 端口時鍾
1// 開啟 GPIOB 端口 時鍾
2 RCC_APB2ENR |= (1<<3);
二、開啟引腳的輸出模式速率
首先我們把連接到 LED 燈的 GPIO 引腳 PB0 配置成輸出模式,即配置 GPIO 的端口配
置低寄存器 CRL,見圖 8-9。 CRL 中包含 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);