打印

单片机能实现程序的切换吗?

[复制链接]
1846|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
areshan|  楼主 | 2011-6-17 08:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 areshan 于 2011-6-17 08:48 编辑

大家好,我在用串口的时候遇到了一个问题,就是串口的应答。我这边的串口发送命令后要等待一个应答命令,但是在等待的应答的时候,想让程序再去执行其他的程序。这个像操作系统中的任务的切换,在外界条件不满足,或等待事件没有发送时,要切换任换任务。。。。。。。但是我用的是单片机没有实现这种任务切换的机制,现在真的是不好弄。要是改成一个用定时器切换任务的小系统,改动会不会大了??????
不该动还有什么方法能切换程序能?用状态机,好像也不怎么好处理!!!!!!
大家有没有好的方法呢?谢谢大家啦!

相关帖子

沙发
areshan|  楼主 | 2011-6-17 09:14 | 只看该作者
谢谢大家,不知道是我把问题想复杂了,还是我的想法太简单了。。。。。。
我准备在发送命令的时候开一个定时器,定时3秒钟,在定时器里检查有没有应答(用全局变量做标识),没有在执行一次该命令,有就关闭定时器!!!!
谢谢大家!

使用特权

评论回复
板凳
joyme| | 2011-6-17 12:49 | 只看该作者
串口接受用中断就好了
用定时器的做法不可靠,别说3秒了就是300ms,也可以应答信号在等待的过程中出现,你就检测不到应答了

使用特权

评论回复
地板
helongdm| | 2011-6-17 14:27 | 只看该作者
开启接收中断

使用特权

评论回复
5
宇航3000| | 2011-6-17 14:57 | 只看该作者
运用中断就好了

使用特权

评论回复
6
areshan|  楼主 | 2011-6-17 16:03 | 只看该作者
是中断接收,大家可能没有理解。我发送的一串数,等接收(串口中断)也是一串数据,我先发数据,发完后不是用延时等待,是用是在主循环里检查,再加定时器,看看是不是应答超时。。。。。。如果应答超时再次执行先前发送的命令。
我以前想到的是任务的切换,怎样把应答和先前的命令联系起来。。。。。。。
开始时好像想多了,想怎么切换程序,想这不是只有操作系统才能完成的吗?换个思路,一切豁然开朗了!!!!!!

使用特权

评论回复
7
areshan|  楼主 | 2011-6-17 16:04 | 只看该作者
谢谢大家的建议!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

127

主题

728

帖子

0

粉丝