STM32程序代码
GPIOA->ODR &=0XFF0F; //将第 4-7 位清 0;看了很久还是不明白有什么意思,后面虽然有解释,但还是不明白
加油 下面两个算法是一样的,都是将bit4-7清零。&的基本运算法则:都是1时1,只要有一个为0就是0。
GPIOA->ODR &=0XFF0F;
GPIOA->ODR =GPIOA->ODR& 0XFF0F; 安 发表于 2017-8-24 13:53
下面两个算法是一样的,都是将bit4-7清零。&的基本运算法则:都是1时1,只要有一个为0就是0。
GPIOA->ODR & ...
为什么是FF0F呢 &是“与”运算逻辑,换成数学就是“乘法”,但是和乘法又不太一样。比如说1&1=1,1&0=0,0&0=0
ODR这个寄存器有16位,分别对应PA0-PA16,而“0xFF0F”之中的“0”正好是PA4-PA7这四个IO口
再回过头来看这个算式,GPIOA->ODR &=0XFF0F;
说的就是ODR这个寄存器与0xFF0F进行“与”运算,这个算法的意思就是在不改变其他IO口的情况下,把PA4-PA7置0
最后楼主还是好好补补基础吧,感觉你基础不行 小随风 发表于 2017-8-24 14:22
&是“与”运算逻辑,换成数学就是“乘法”,但是和乘法又不太一样。比如说1&1=1,1&0=0,0&0=0
ODR这个寄存 ...
好的,谢谢解惑 要看手册,知道PA4-PA7的地址,才能知道为啥用0XFF0F
页:
[1]