|
| 串口接收程序RI的处理部分最好在串口中断服务程序里解决,TI在其它地方发送还可以,接收那样不好,说不定就是处理不到 |
qwettyuio 发表于 2021-4-28 16:45 这样你理解一下,你串口发送2,是单次的,单片机只接收到一次a=2,所以只会执行一次你的流水灯for循环。你看能不能想到解决办法,如果不能再回复一下,可以告诉你怎么做。 |
haokey 发表于 2021-4-28 10:35 修改了,流水灯直接停在led8亮,不动了 |
sync763 发表于 2021-4-28 09:16 改了,但是流水灯不循环了,直接停在led8不动了 |
sync763 发表于 2021-4-28 09:16 同意,本来已经有个while(1)了,这个else if(a == 2)里面的while(1)就多余了 |
|
else if(a==2) { while(1) { for(i=0;i<8;i++) P1=b; } } 将红色的部分删除试试。 |
sync763 发表于 2021-4-27 16:26 可以是可以,但是串口输入0或者1是无效的。输入0串口发送应该是全亮,现在是死循环,没法中断 |
| 延时函数发来,可以看看 |
|
while(1) { for(i=0;i<8;i++) { P1=b[i]; delay(); } } 你自己完善一下delay()函数应该可以。 |
sync763 发表于 2021-4-27 16:11 大佬能帮忙修改一下吗 |
sync763 发表于 2021-4-27 16:11 加入延时报错 |
|
while(1) { for(i=0;i<8;i++) P1=b[i]; } 速度太快,看不出来效果,加一定的延时就能看出来了。 |
| 不要用HEX模式,选用文本模式发送试试 |