stm32 GPIO跑马灯,求精讲啊!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了stm32 GPIO跑马灯,求精讲啊!!!相关的知识,希望对你有一定的参考价值。
GPIOC->CRH &= 0xFFF00FFF;//清掉这2个位的设置,同时不影响其他位的设置GPIOC->CRH |= 0x00038000;//PC11输入,PC12输出GPIO->ODR=1<<11;//PC11上拉这是跑马灯第一个实验(stm32的mini开发板),可是对照CRL的描述,有32个位,每4位控制一个IO口的话就是8个IO口。小弟初学,知道第一句是按位与,它是怎么把PC11、PC12清零的?
还有PC1中的PC是什么意思?
第一句程序中0XFFF00FFF中的00,换成二进制,应该对应到图中的12~19变成0,可11没有变0啊,同样的第二句也是相同的问题(可能是小弟初学,没看懂)。“stm32的CRL控制着每个IO端口(A~G)”,想问stm32一共有几个IO端口?A~G如果是每个IO口的名称的 话,图中应该有8个IO,可是A~G只有7个,第八个呢?CRH控制高8位,CRL控制低8位,这个“高低”什么意思?小弟初学,实在对这个问题束手无策,查了好多网上的资料也没找到答案,实在不想被打击积极性,望大神指点指点,感激不尽啊......感激不尽!!!若有好的回复,分数追加!!!
1、它是怎么把PC11、PC12清零的?
答:每4个位对应一个IO引脚,16个IO引脚就是64位。CRL的32位负责控制低8个IO引脚,CRH的32位负责控制高8个IO引脚。你贴出来的图是CRL,应该看CRH的。
2、PC1中的PC是什么意思?
答:写PC是GPIOC的意思,以前51都是PA\PB\PC……可见注释的人跟LZ一样懒的写GPIOC。
3、stm32一共有几个IO端口?A~G如果是每个IO口的名称的话,图中应该有8个IO,可是A~G只有7个,第八个呢?
答:不同STM32型号有不同数目的IO端口,具体看芯片手册。
一个IO口对应16个IO引脚,你说的那个是8个IO引脚。GPIOA、GPIOB……这些IO口都有16个IO引脚……
4、CRH控制高8位,CRL控制低8位,这个“高低”什么意思?
答:高8位就是8~15的IO引脚,低8位就是0~7的IO引脚。 参考技术A PC就是Port C或者GPIOC,跟51单片机的P0、P1什么的一样。
GPIOC->CRH寄存器里面4bit决定一个端口位的性质,就是说12-15bit决定PC11的性质,16~19bit决定PC12的性质,性质的定义就是你贴出的图里的描述。
A~G表示有7个端口,每个端口有16bit。实际上有的端口没有完全引出的。
一个16位的数据可以分为高字节和低字节吧?高字节是8~15位,低字节时0~7位,端口也可以这么分。
以上是关于stm32 GPIO跑马灯,求精讲啊!!!的主要内容,如果未能解决你的问题,请参考以下文章