如何提高单片机的实时性

[复制链接]
5836|22
 楼主| tyrone3000 发表于 2010-3-11 13:04 | 显示全部楼层 |阅读模式
单片机程序既要不停的查询按键,又要动态刷新显示。
怎么才能做到实时?
 楼主| tyrone3000 发表于 2010-3-11 13:13 | 显示全部楼层
补充一点,我的单片机用于数据采集监控
xwj 发表于 2010-3-11 13:18 | 显示全部楼层
很简单,想想人要一心二用、多用的话是怎么做的,你就会明白了:)
 楼主| tyrone3000 发表于 2010-3-11 13:31 | 显示全部楼层
那就是做好分时,时间片轮转?
原野之狼 发表于 2010-3-11 13:33 | 显示全部楼层
处理器要并行处理必然要分时咯
 楼主| tyrone3000 发表于 2010-3-11 13:43 | 显示全部楼层
怎么进行分时?
是不是查询按键在一定时间(可设定)内没有按键强行退出去刷新数据?
liao_fangxing 发表于 2010-3-11 15:12 | 显示全部楼层
查询按键时别停留 将结果用累计变量保存好  查完就走…………   显示就利用人眼的错觉 每隔那么10~20ms去刷一次就ok啦
hao234 发表于 2010-3-11 20:00 | 显示全部楼层
用实时系统啊
328500920 发表于 2010-3-12 08:39 | 显示全部楼层
期待好的 方案
yytdragon 发表于 2010-3-12 08:53 | 显示全部楼层
这个实时是相对来说的。。。真想实时的话就一个MCU处理按键,一个MCU刷屏。。。哇嘎嘎
开个玩笑,当然是要按键能用中断解决就用中断,不能用中断就每隔100ms或再低一些的时间查询咯,显示的刷屏就没什么太高要求了,该怎么处理就怎么处理好了
sochen 发表于 2010-3-12 09:11 | 显示全部楼层
就是把你整个系统的任务时间分配好,在固定时间只做固定的事情,但是每件事情都分得很精细。前后台思想,如果有条件可以参考时间触发嵌入式设计这本书的内容。
sochen 发表于 2010-3-12 09:15 | 显示全部楼层
也就是搞个调度器,那本书里已经做了非常详细的说明。
 楼主| tyrone3000 发表于 2010-3-31 10:31 | 显示全部楼层
《时间触发嵌入式设计》
是这本书吗?
gengxuetao 发表于 2010-3-31 12:36 | 显示全部楼层
其实你可以定时中断来刷新显示缓冲区,主程序里面来采集按键值和更新需要显示的数据.
 楼主| tyrone3000 发表于 2010-4-22 15:30 | 显示全部楼层
显示缓冲区是AD采样的数据,AD用的是中断。这个数据在中断中刷新是没有问题的.
关键是我对系统进行参数设置的时候不需要动态刷新显示。
在参数设置完毕后,希望没有按键的时候动态刷新显示
ayb_ice 发表于 2010-4-22 15:49 | 显示全部楼层
10MS中将所有的任务都查询一遍,当然有些任务可能只需要20或50处理一次,还有些可能需要1或5处理一次。
简单点确保你的MCU时时在做正事,而不是经常或有时在做软件延时,配合中断,这样的话实时一般是有保障的
 楼主| tyrone3000 发表于 2010-4-23 14:48 | 显示全部楼层
哦 明白了!
谢谢!
dulianling 发表于 2010-4-23 21:04 | 显示全部楼层
10MS中将所有的任务都查询一遍,当然有些任务可能只需要20或50处理一次,还有些可能需要1或5处理一次。
简单点确保你的MCU时时在做正事,而不是经常或有时在做软件延时,配合中断,这样的话实时一般是有保障的 ...
ayb_ice 发表于 2010-4-22 15:49
OK!
NE5532 发表于 2010-4-23 21:08 | 显示全部楼层
1.跑得快
2.写程序的人脑子好,程序架构合理
lirunze 发表于 2010-4-24 20:42 | 显示全部楼层
既然是实时数据采集,那键盘和显示就不用扫描了,硬件完成就成了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

97

主题

474

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部