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底層實際是先定義出外設基位址,然...