×
单片机 > 单片机程序设计 > 详情

STM32 CRH和CRL记录

发布时间:2020-06-01 发布时间:
|

在进行IO口方向设置的时候经常见到如下设置方式


//IO方向设置   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管理 模式对照表贴出来进行说明


从同种可以看出CNF表示是输入输出不同模式下的状态,CNF代表的位为31:30或27:26或23:22……管理输入输出模式的是MODE位分别为29:28或25:24或21:20………….,在不同IO口上CNF和MODE共同占用一个十六进制的’F’也就是上述中的空出来的’0’。 
下面说明为啥在使用PC11的时候是;

GPIOC->CRH&=0XFFFF0FFF;1

CRH和CRL其实功能是相同的,只是CRH管理引脚的高8位为Pin8-16,CRL管理引脚的低八位为Pin0-7,每个IO端口的位占用占用CRL或CRH的4个位,4个位中高2位为CNF低两位为MODE,那么在CRL中Pin0-7八个IO口每个4位占用4*8=32位刚好为0xFFFFFFFF,从低位到高位分别为0xFFFFFFF0代表0号IO口,0xFFFFFF0F代表1号IO口,0xFFFFF0FF代表2号IO口,,,,,,,,,,,, 
在CRH中Pin8-15八个IO口每个4位占用4*8=32位刚好为0xFFFFFFFF,从低位到高位分别为0xFFFFFFF0代表8号IO口,0xFFFFFF0F代表9号IO口,0xFFFFF0FF代表10号IO口,0xFFFF0FFF代表11号IO口,,,,,,,,,,,


关键字:STM32  CRH  CRL 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
Keil(MDK-ARM)系列教程(七)_菜单