crh寄存器_STM32的GPIO的寄存器介绍和设置
每個GPIO端口有兩個32位配置寄存器(GPIOx_CRL,GPIOx_CRH)分別控制每個端口的高八位和低八位,如果IO口是0-7號的話,則寫CRL寄存器,如果IO口是8-15號的話,則寫CRH寄存器,兩個32位數據寄存器(GPIOx_IDR,GPIOx_ODR)一個是只讀作輸入數據寄存器,一個是只寫作輸出寄存器,一個32位置位/復位寄存器(GPIOx_BSRR),一個16位復位寄存器(GPIOx_BRR)和一個32位鎖定寄存器(GPIOx_LCKR)。常用的IO端口寄存器只有四個:CRH,CRL,IDR,ODR。
數據手冊中列出的每個I/O端口的特定硬件特征, GPIO端口的每個位可以由軟件分別配置成多種模式。每個I/O端口位可以自由編程,然而I/0端口寄存器必須按32位字被訪問(不允許半字或字節訪問)。
另外,STM32的每個端口使用前都要將其時鐘使能,STM32的GPIO的時鐘統一掛接在APB2上,具體的使能寄存器為RCC_APB2ENR,該寄存器的第2位到第8位分別控制GPIOx(x=A,B,C,D,E,F,G)端口的時鐘使能,當外設時鐘沒有啟用時,程序不能讀出外設寄存器的數值,如打開PORTA時鐘:
RCC->APB2ENR|=1<<2; //使能PORTA時鐘
使能外設時鐘后,GPIOA的十六位就可以按照設定的狀態工作了,之后就是具體設置哪一位了以第八位為例即高位的首位,在GPIOx_CRH寄存器中進行設置,GPIOA的每一位都有該寄存器的四位來設定相應的參數,這四位中的高兩位(CNF0,CNF1)設置GPIO的輸入輸出模式,低兩位(MODE0,MO
總結
以上是生活随笔為你收集整理的crh寄存器_STM32的GPIO的寄存器介绍和设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零信任实践之单包认证(SPA)
- 下一篇: crh寄存器_CRL,CRH寄存器