glinfei 发表于 2021-4-4 23:15 LED_ON 就是变量,是这个意思吧 ,谢谢你! |
永恒动力 发表于 2021-4-4 17:17 LED_ON_Num 是个变量啊,计数用的,就是第几个灯亮,超过总数4就重置为1.跟IO没关。是怕看不懂才设的,否则直接用LED_ON也行,它大于8就重置1. |
LED_ON_Num=1 是if (LED_ON_Num == ?)后回复计数初值的。 即重新开始计数的意思。 |
ANKA 发表于 2021-4-3 23:14 就是置GPIO为输出吗?LED_ON表达的是什么意思?谢谢你! |
ANKA 发表于 2021-4-3 23:14 就是置GPIO为输出吗?LED_ON表达的是什么意思? |
LED_ON_Num=1 IO口置1 |
聆烟雨 发表于 2021-4-2 18:47 大神很给力了,非常感谢,LED_ON_Num=1这个是什么意思?还请大神解释下,谢谢! |
本帖最后由 聆烟雨 于 2021-4-2 19:36 编辑 IO0SET = ~LED_ON; 如果 LED_ON_Num = 1, 那么 LED_ON = 0x01, 取反后为 ...111110(二进制), 前面很多1, 省略不写了。 这句意思就是 让 IO0SET 寄存器 除了第一个 bit 之外, 其他 bit 都为 1(置引脚为高电平)。 IO0CLR = LED_ON; 这句意思就是 让 IO0CLR 寄存器 的第一个 bit 为 1(置引脚为低电平)。 由电路图可知, 引脚为低电平, LED 会亮。那此时 D1 点亮,其他不亮。 LED_ON <<= 1; 这句意思就是 LED_ON 左移 1 bit, 就是本来控制第一个 IO, 现在左移了, 要去控制 第二个 IO if( LED_ON_Num++ == 4 ) 这句意思就是 如果循环点亮到 第 4 个灯, 这就不能继续了, 要恢复 LED_ON 、 LED_ON_Num 为原来的值, 因为只有 4 个灯。 |
不太懂stm32,可以去阅读下相关书籍 |