STM32暫存器方式流水燈

2021-07-11 18:13:04 字數 1140 閱讀 4481

gpio暫存器

gpiox->moder   模式暫存器 32位

00:輸入(復位狀態)

01:通用輸出模式

10:復用功能模式

11:模擬模式

gpiod->otyper 

埠輸出型別暫存器 16位 0

:輸出推挽(復位狀態)

1:輸出開漏

注:輸出推挽的帶負載能力強,輸出開漏的吸收電流能力相對強,要得到高電平需要上拉電阻

gpiod->ospeedr 

埠輸出速度暫存器 32位

00 : 2 mhz(低速)

01: 25 mhz(中速)

10: 50 mhz(快速)

11: 30 pf 時為 100 mhz(高速)( 15 pf 時為 80 mhz 輸出

(最大速度))

gpiod->pupdr 

埠上拉/下拉暫存器 32位

00:無上拉或下拉

01:上拉

10:下拉

11:保留

gpiod->odr 

埠輸出資料暫存器 16位

gpiod->idr 

埠輸入資料暫存器 16位

使能gpiox時鐘

rcc->ahp1enr  

rcc ahb1

外設時鐘使能暫存器 32位 一些位被保留

0:禁止

1:使能

注:此暫存器只能使能/禁止掛載在ahb1上的外設

主要**

rcc->ahb1enr |=1<

gpiod->moder &= 0;

gpiod->moder |= ((1<

gpiod->otyper &= 0;

gpiod->otyper |=((0<

gpiod->ospeedr &= 0;

gpiod->ospeedr |=((1<

gpiod->pupdr &= 0;

gpiod->pupdr |= ((1<

記錯 rcc->ahb1enr |=1<

STM32學習 流水燈

參考 一 準備工作 stm32的官方韌體庫 二 建立步驟 建立工程資料夾fled 資料夾中需要包含的檔案 core 放入韌體庫里的核心支援檔案core cm3 core cm3.h 和裝置支援檔案starup stm32f10x 啟動檔案 大容量儲存用hd 然後md,然後ld fwlib 放入韌體庫...

STM32蜂鳴器 暫存器

這次實驗犯了個笑話,竟然在巨集定義後面加分號.就像這樣 define 大家千萬不要學我,結果報錯expected expression,還苦惱半天,想為啥操作不了暫存器了?我真愚蠢!剛開始我也不會寫這些東西,其實摸清套路就好,rcc時鐘使能 gpio初始化 相關暫存器初始化 延時函式 串列埠等初始化...

STM32暫存器對映

1.對映即將記憶體的某段位址與某一暫存器對應,微控制器對函式的操作底層是操作暫存器,而暫存器最終是操作記憶體上對應的單元,2.各個暫存器對應的位址都是在st定義的起始位址上層層偏移得到 3.想要實現某功能可直接對此段記憶體寫進相應的值,即可賦予某一功能 4.stm32底層實際是先定義出外設基位址,然...