☆stm32的io口可以由軟體配置成一下八種模式:
1、輸入浮空
2、輸入上拉
3、輸入下拉
4、模擬輸入
5、開漏輸出
6、推挽輸出
7、推挽式復用功能
8、開漏復用功能
☆每個io口可以自由程式設計,但io口暫存器必須按照32位字被訪問。stm32的每個io埠都有7 個暫存器來控制,分別是:
配置模式的2個32位的埠配置暫存器crl和crh;
2個32位的資料暫存器idr和odr;
1個32位的置位 / 復位暫存器bsrr;
1個16位的復位暫存器brr;
1個32位的鎖存暫存器lcrr;
其中crl和crh控制每個io口的模式及輸出速率。
☆stm32的io口位配置表:
☆stm32輸出模式配置:
☆埠低配置暫存器crl:
☆該暫存器復位值為0x4444 4444,復位值就是配置埠為浮空輸入模式。
☆stm32的crl控制著每組io埠(a~g)的低八位模式
常用配置為:0x0—模擬輸入模式(adc用)
0x3—表示推挽輸出模式(做輸出口用,50m速率)
0x8—表示上/下拉輸入模式(做輸入口用)
☆☆crh的作用和crl完全一樣,crl控制低八位輸出口,crh控制高八位輸出口。
☆跑馬燈原理圖:
☆main函式**
#include "sys.h"
#include "usart.h"
#include "delay.h"
#include "led.h"
int main(void)
}
STM32跑馬燈(基於暫存器)
開啟原理圖,不累述。參閱pdf原理圖。複製 庫函式模板 作為建立的空工程。新建乙個分組,hardware,並且在目錄下面也新建乙個目錄,在下面在新建乙個子資料夾叫led,led下面新建led.h和led.c。前面有一模一樣的過程,不在說明 在led.件夾中寫 ifndef led h 如果沒有定義則...
STM32之跑馬燈 暫存器版本
簡明步驟 1 新建乙個工程檔案,將需要的各個標頭檔案都包含進去 這裡不介紹,會單獨做出筆記 2 在工程資料夾中新建乙個資料夾 hardware 名字可任取 然後在其中新建led資料夾。3 開啟 uvprojx 工程檔案,新建led.c和led.h,儲存至led資料夾中。led.c檔案目的是建立乙個函...
STM32學習筆記(一) 跑馬燈
本實驗所採用的開發板為正點原子的ministm32f103rc開發板,主函式程式如下,注釋如下 main.c include stm32f10x.h void delay u32 count int main void 如果使用正點原子廠家所提供的system檔案下的delay.h的標頭檔案,可以更...