STM32 CRH和CRL记录
在進(jìn)行IO口方向設(shè)置的時(shí)候經(jīng)常見(jiàn)到如下設(shè)置方式
//IO方向設(shè)置 PC11 #define MPU_SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;} #define MPU_SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}先把CRH和CRL管理 模式對(duì)照表貼出來(lái)進(jìn)行說(shuō)明
從同種可以看出CNF表示是輸入輸出不同模式下的狀態(tài),CNF代表的位為31:30或27:26或23:22……管理輸入輸出模式的是MODE位分別為29:28或25:24或21:20………….,在不同IO口上CNF和MODE共同占用一個(gè)十六進(jìn)制的’F’也就是上述中的空出來(lái)的’0’。
下面說(shuō)明為啥在使用PC11的時(shí)候是;
CRH和CRL其實(shí)功能是相同的,只是CRH管理引腳的高8位為Pin8-16,CRL管理引腳的低八位為Pin0-7,每個(gè)IO端口的位占用占用CRL或CRH的4個(gè)位,4個(gè)位中高2位為CNF低兩位為MODE,那么在CRL中Pin0-7八個(gè)IO口每個(gè)4位占用4*8=32位剛好為0xFFFFFFFF,從低位到高位分別為0xFFFFFFF0代表0號(hào)IO口,0xFFFFFF0F代表1號(hào)IO口,0xFFFFF0FF代表2號(hào)IO口,,,,,,,,,,,,
在CRH中Pin8-15八個(gè)IO口每個(gè)4位占用4*8=32位剛好為0xFFFFFFFF,從低位到高位分別為0xFFFFFFF0代表8號(hào)IO口,0xFFFFFF0F代表9號(hào)IO口,0xFFFFF0FF代表10號(hào)IO口,0xFFFF0FFF代表11號(hào)IO口,,,,,,,,,,,
總結(jié)
以上是生活随笔為你收集整理的STM32 CRH和CRL记录的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JS反调试
- 下一篇: JAVA微信公众号开发之公众号内H5调微