是我的问题吗(程序架构问题)

[复制链接]
7074|44
huanben 发表于 2012-9-6 23:47 | 显示全部楼层
请问你用的是什么RTOS,自己写的吗?:) 9# 李富贵
uuniao 发表于 2012-9-7 08:37 | 显示全部楼层
10# 20120703
呵呵,在学校写的程序真该否定,勇于接受新知识哈……
whhityang 发表于 2012-9-7 08:51 | 显示全部楼层
只想说,你还是学习下公司里现成程序写法吧,定时器的这种用法是最基本的了。
baiyunfei.k.f 发表于 2012-9-7 10:42 | 显示全部楼层
基于时间触发结构,楼主可以看看相关资料
sz_longyue 发表于 2012-9-7 11:26 | 显示全部楼层
黑猫白猫,能抓老鼠就是好猫
楼主不必太纠结哪种写法
PS:我也是习惯楼主的写法,TMR做时基,然后在每个任务模块中来处理时间 ^_^
zmj2008 发表于 2012-9-7 12:32 | 显示全部楼层
时间片的做法,这样做还是很好的,有条理
原野之狼 发表于 2012-9-7 12:36 | 显示全部楼层
此两种写法 没发现有啥本质区别
对于后者 你把if的判断放到function内 不就跟前者一模一样了么
zd420325 发表于 2012-9-7 12:37 | 显示全部楼层
楼主学习一下状态机的概念
kseeker 发表于 2012-9-7 13:31 | 显示全部楼层
如27楼所说,两者实际上没有本质区别,如果你的function没有对应的if判断,那就完全一样。

第二种方法强调有些功能只需要以特定的频率来做就可以了(比如不必不停地检测键盘,刷新数码管),这样可以降低一点功耗,实时性能也可能会更好一些,但代价就是程序变得更复杂。
forrest11 发表于 2012-9-7 16:16 | 显示全部楼层
不管怎么样,主动规划时间片来处理函数,是个好的习惯。2明显更可取。
趣味单片机 发表于 2012-9-7 16:28 | 显示全部楼层
不用怀疑自己,我觉得你是对的,简单明了,清晰可见。如果像第二个写法的话,有10几个任务不知道要乱成什么样子。只不过,你两个子程序进去以后,要像他一样,玩时间片。
coody 发表于 2012-9-7 16:39 | 显示全部楼层
分配时间隙,很正常的用法。除此,我一般好似用状态机。

更好的,上OS。
suse-lj 发表于 2012-9-7 16:44 | 显示全部楼层
学校里 用的 楼主的 1方法 。 现在用2了 。
wanghao987 发表于 2012-9-7 17:14 | 显示全部楼层
说得很好,我同意
jackdauson 发表于 2012-9-7 17:40 | 显示全部楼层
公司员工用时间片的概念,楼主的程序也对。
celticzy 发表于 2012-9-7 18:21 | 显示全部楼层
哈哈,各种风格学习了。
说到数码管和按键,我比较倾向给数码管按键单独的一个定时器,并在中断里去扫数码管和按键,
只甩给主循环一个DigitShowData1/DigitShowData2...和Key1Flag/K2Flag...这样的接口。
这样,main函数会看起来清爽很多。
eydj2008 发表于 2012-9-7 18:38 | 显示全部楼层
管他 花猫黑猫 捉到老鼠就是好猫。

别管程序咋 写,只要完成你产品的功能就可以。 性能指标达到要求。

像我们这市场部 老是追求效果 效果 还是效果  快郁闷死了。
杜专 发表于 2012-9-7 18:42 | 显示全部楼层
本帖最后由 杜专 于 2012-9-7 18:45 编辑

几年前就开始用了,用久了就觉得有问题的 你先玩着
hawksabre 发表于 2012-9-7 18:57 | 显示全部楼层
16楼说的有道理

第一个是无限制轮询;
第二个是时间片轮询。
哪个好,得根据程序具体是干什么的了。

单片机本质就是设计时间流   怎样设计合理   怎样干    如果想提升功力   建议将操作系统中关于时间片的概念搞懂
Ryanhsiung 发表于 2012-9-7 20:56 | 显示全部楼层
第一个是无限制轮询;
第二个是时间片轮询。
哪个好,得根据程序具体是干什么的了。
nongfuxu 发表于 2012-9-6 22:34

恩,说的对。
  个人认为在太多时候第二个较好,第一个用在需要实时性强的地方。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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