//io方向設定
#define mpu_sda_in()
#define mpu_sda_out()
//io操作函式
#define mpu_iic_scl pbout(10) //scl
#define mpu_iic_sda pbout(11) //sda
#define mpu_read_sda pbin(11) //輸入sda
每次配置這個都要想很久,在這裡記錄一下
從keil這裡開啟文件
搜cnf
定位到這一頁
看這一句#define mpu_sda_in()
&=0xffff0fff表示第12到15位都置零,剛好是cnf11和mode11,因為是gpiob,所以是b11
gpiob->crh|=8<<12;其中8表示1000 即mode是00 input mode 然後cnf是10 input with pull-up 埠11佔據12到15最低位12即相當於從0右移到12
STM32蜂鳴器 暫存器
這次實驗犯了個笑話,竟然在巨集定義後面加分號.就像這樣 define 大家千萬不要學我,結果報錯expected expression,還苦惱半天,想為啥操作不了暫存器了?我真愚蠢!剛開始我也不會寫這些東西,其實摸清套路就好,rcc時鐘使能 gpio初始化 相關暫存器初始化 延時函式 串列埠等初始化...
STM32暫存器對映
1.對映即將記憶體的某段位址與某一暫存器對應,微控制器對函式的操作底層是操作暫存器,而暫存器最終是操作記憶體上對應的單元,2.各個暫存器對應的位址都是在st定義的起始位址上層層偏移得到 3.想要實現某功能可直接對此段記憶體寫進相應的值,即可賦予某一功能 4.stm32底層實際是先定義出外設基位址,然...
野火STM32暫存器配置GPIO
1 讀庫函式的一些巨集定義和結構體 define io voiatile typedef unsigned int uint32 t typedef unsigned shrot uint16 t 以結構體的形式定義好了外設暫存器後,使用結構體前還需要給結構體的首位址賦值,才能訪問到需要的暫存器 e...