打印

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

[复制链接]
楼主: 20120703
手机看帖
扫描二维码
随时随地手机跟帖
21
huanben| | 2012-9-6 23:47 | 只看该作者 回帖奖励 |倒序浏览
请问你用的是什么RTOS,自己写的吗?:) 9# 李富贵

使用特权

评论回复
22
uuniao| | 2012-9-7 08:37 | 只看该作者
10# 20120703
呵呵,在学校写的程序真该否定,勇于接受新知识哈……

使用特权

评论回复
23
whhityang| | 2012-9-7 08:51 | 只看该作者
只想说,你还是学习下公司里现成程序写法吧,定时器的这种用法是最基本的了。

使用特权

评论回复
24
baiyunfei.k.f| | 2012-9-7 10:42 | 只看该作者
基于时间触发结构,楼主可以看看相关资料

使用特权

评论回复
25
sz_longyue| | 2012-9-7 11:26 | 只看该作者
黑猫白猫,能抓老鼠就是好猫
楼主不必太纠结哪种写法
PS:我也是习惯楼主的写法,TMR做时基,然后在每个任务模块中来处理时间 ^_^

使用特权

评论回复
26
zmj2008| | 2012-9-7 12:32 | 只看该作者
时间片的做法,这样做还是很好的,有条理

使用特权

评论回复
27
原野之狼| | 2012-9-7 12:36 | 只看该作者
此两种写法 没发现有啥本质区别
对于后者 你把if的判断放到function内 不就跟前者一模一样了么

使用特权

评论回复
28
zd420325| | 2012-9-7 12:37 | 只看该作者
楼主学习一下状态机的概念

使用特权

评论回复
29
kseeker| | 2012-9-7 13:31 | 只看该作者
如27楼所说,两者实际上没有本质区别,如果你的function没有对应的if判断,那就完全一样。

第二种方法强调有些功能只需要以特定的频率来做就可以了(比如不必不停地检测键盘,刷新数码管),这样可以降低一点功耗,实时性能也可能会更好一些,但代价就是程序变得更复杂。

使用特权

评论回复
30
forrest11| | 2012-9-7 16:16 | 只看该作者
不管怎么样,主动规划时间片来处理函数,是个好的习惯。2明显更可取。

使用特权

评论回复
31
趣味单片机| | 2012-9-7 16:28 | 只看该作者
不用怀疑自己,我觉得你是对的,简单明了,清晰可见。如果像第二个写法的话,有10几个任务不知道要乱成什么样子。只不过,你两个子程序进去以后,要像他一样,玩时间片。

使用特权

评论回复
32
coody| | 2012-9-7 16:39 | 只看该作者
分配时间隙,很正常的用法。除此,我一般好似用状态机。

更好的,上OS。

使用特权

评论回复
33
suse-lj| | 2012-9-7 16:44 | 只看该作者
学校里 用的 楼主的 1方法 。 现在用2了 。

使用特权

评论回复
34
wanghao987| | 2012-9-7 17:14 | 只看该作者
说得很好,我同意

使用特权

评论回复
35
jackdauson| | 2012-9-7 17:40 | 只看该作者
公司员工用时间片的概念,楼主的程序也对。

使用特权

评论回复
36
celticzy| | 2012-9-7 18:21 | 只看该作者
哈哈,各种风格学习了。
说到数码管和按键,我比较倾向给数码管按键单独的一个定时器,并在中断里去扫数码管和按键,
只甩给主循环一个DigitShowData1/DigitShowData2...和Key1Flag/K2Flag...这样的接口。
这样,main函数会看起来清爽很多。

使用特权

评论回复
37
eydj2008| | 2012-9-7 18:38 | 只看该作者
管他 花猫黑猫 捉到老鼠就是好猫。

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

像我们这市场部 老是追求效果 效果 还是效果  快郁闷死了。

使用特权

评论回复
38
杜专| | 2012-9-7 18:42 | 只看该作者
本帖最后由 杜专 于 2012-9-7 18:45 编辑

几年前就开始用了,用久了就觉得有问题的 你先玩着

使用特权

评论回复
39
hawksabre| | 2012-9-7 18:57 | 只看该作者
16楼说的有道理

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

单片机本质就是设计时间流   怎样设计合理   怎样干    如果想提升功力   建议将操作系统中关于时间片的概念搞懂

使用特权

评论回复
40
Ryanhsiung| | 2012-9-7 20:56 | 只看该作者
第一个是无限制轮询;
第二个是时间片轮询。
哪个好,得根据程序具体是干什么的了。
nongfuxu 发表于 2012-9-6 22:34

恩,说的对。
  个人认为在太多时候第二个较好,第一个用在需要实时性强的地方。。

使用特权

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

本版积分规则