STM32筆記(一)(暫存器) 跑馬燈實驗

2021-08-21 18:32:12 字數 1559 閱讀 9136

☆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的標頭檔案,可以更...