独闷闷网

 找回密码
 立即注册
搜索
查看: 2525|回复: 0
收起左侧

[分享] GPIO->CRL 端口低配置寄存器

[复制链接]
发表于 2014-6-19 14:20:03 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
端口低配置寄存器寄存器的复位值为0X4444 4444,,复位值其实就是配置端口为浮空输
入模式。STM32的CRL控制着每个IO端口(A~G)的低8位的模式。每
个IO端口的位占用CRL的4个位,高两位为CNF,低两位为MODE。这里我们可以记住几个
常用的配置,比如0X4表示模拟输入模式(ADC用)、0X3表示推挽输出模式(做输出口用,
50M速率)、0X8表示上/下拉输入模式(做输入口用)、0XB表示复用输出(使用IO口的第二
功能,50M速率)。
CRH的作用和CRL完全一样,只是CRL控制的是低8位输出口,而CRH控制的是高8
位输出口。这里我们对CRH就不做详细介绍了。
给个实例,比如我们要设置PORTC的11位为上拉输入,12位为推挽输出。代码如下:
        GPIOA->CRH&=0XFFFFFFF0;
  GPIOA->CRH|=0X00000003;//PA8 推挽输出   
        GPIOA->ODR|=1<<8;      //PA8 输出高
再如:
GPIOC->CRH&=0XFFF00FFF;//清掉这2个位原来的设置,同时也不影响其他位的设置
GPIOC->CRH|=0X00038000; //PC11输入,PC12输出
GPIOC->ODR=1<<11;//PC11上拉
通过这3句话的配置,我们就设置了PC11为上拉输入,PC12为推挽输出
乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2021-3-8 16:54 , Processed in 0.134728 second(s), 19 queries .

快速回复 返回顶部 返回列表