STM32埠相關暫存器

2021-10-07 16:42:42 字數 976 閱讀 7036

在做專案的時候,有事要臨時的改變埠的輸入輸出或者其他狀態,這個時候如果用庫操作顯得繁瑣,**量大,如果直接操作暫存器,則簡單快捷乾淨。stm32暫存器如下:

埠模式暫存器(gpiox_moder):每io口兩位

1 modery[1:0]:(y=0…15)

2 00:輸入(復位狀態)

3 01:通用輸出模式

4 10:復用功能模式

5 11:模擬模式

埠輸出型別暫存器(gpiox_otyper):每io口一位,高16位不用

1 oty[1:0]:(y=0…15)

2 0:輸出推挽(復位狀態)

3 1:輸出開漏

埠輸出速度暫存器(gpiox_ospeedr):每io口兩位

1 ospeedry[1:0]:(y=0…15)

2 00:2mhz

3 01:25mhz

4 10:50mhz

5 11:100mhz

埠上拉下拉暫存器(gpiox_pupdr):

1 pupdry[1:0]:(y=0…15)

2 00:無上拉或下拉

3 01:上拉

4 10:下拉

5 11:保留

埠輸入資料暫存器(gpiox_idr):

1 idry[15:0]:(y=0…15)

2 埠輸入資料

埠輸出資料暫存器(gpiox_odr):

1 odry[15:0]:(y=0…15)

2 埠輸出資料

埠置位復位暫存器(gpiox_bsrr):

1 bry[15:0]:位31:16

2 0:不會對相應的odrx位執行任何操作

3 1:對相應的odrx位進行復位

45 bsy[15:0]:位15:0

6 0:不會對相應的odrx位執行任何操作

7 1:對相應的odrx位進行置位

8 同時對bsx和brx置位,則bsx的優先順序更高

STM32蜂鳴器 暫存器

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

STM32暫存器對映

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

STM32學習 暫存器操作埠模式

在學習iic的時候碰到了這麼兩條 io方向設定 define mpu sda in define mpu sda out 這其實是在操作暫存器 首先了解下各個符號的用處 這是原子哥的解釋。crh crl是兩個控制埠暫存器 比如gpioa a0 a7操作的是crl暫存器 a8 a15操作的是crh暫存...