初级会员

- 积分
- 59
- 金钱
- 59
- 注册时间
- 2017-9-10
- 在线时间
- 14 小时
|
2金钱
各位大神好,我是新手,刚开始照着原子哥的教程学STM32,现在想实现以下效果,请大神给个思路:
预期效果:
通过串口调试助手发送指令,进而控制LED灯。具体为发送0,灯灭;发送1,灯亮;发送2,灯一直闪烁。
我的思路:
使能串口接收中断接收上位机数据,将上位机发送的数据存储到缓冲区,判断数据是否为0,1,2.
如果为0,SetBits;
如果为1,ResetBits;
亮灭均能实现,但是闪烁这里,因为我是新手,不太了解,我之前操作LED闪烁都是做个延时,while(1)死循环。如果现在我还这样做,我想就要退出死循环,但是一顿操作,遗憾未能成功,总是无法退出这个死循环,进入之后就发送任何指令都不行了。
不知道怎么做了,求大神指教,给个闪烁的思路,谢谢啦!
|
最佳答案
查看完整内容[请看2#楼]
while(1)
{
i=串口接收函数得到的值;
if(i==0)
灯灭;
if(i==1)
灯亮;
while(i==2)
{
闪烁;
i=串口接收函数得到的值;
if(i!=2)
break;
}
}
大体上就是这个形式,
|