打印

侃侃单片机裸奔的程序框架

[复制链接]
楼主: xiaojiewen
手机看帖
扫描二维码
随时随地手机跟帖
21
老鱼探戈| | 2011-5-23 19:36 | 只看该作者 回帖奖励 |倒序浏览
没什么亮点....

使用特权

评论回复
22
mochou| | 2011-5-23 19:38 | 只看该作者
:lol

使用特权

评论回复
23
hotpower| | 2011-5-23 19:42 | 只看该作者
哈哈,即日起助学园地---LOOK

https://bbs.21ic.com/forumdisplay ... =all&typeid=104

使用特权

评论回复
24
feigs0710| | 2011-5-23 20:32 | 只看该作者
不错,算是入门了。
mcu firmware 设计最重要的是要有资源的概念,其它都是浮云。

使用特权

评论回复
25
hotpower| | 2011-5-23 20:40 | 只看该作者
菜地公告:
菜农Cortex-M0助学园地即日起全力推广LOOK在CM0上的应用

LOOK是网友john_lee老师用C++ 编写的RTOS 内核,自2008年开始就
成功地应用在AVR单片机上,经过不断发展和完善,又先后在Cortex-M3
和Cortex-M0上实现。详细内容请参见《LOOK 简介
菜农经过在助学开发板完成的全部LOOK同步对象后,认为LOOK完全
可以胜任在Cortex-M上替代裸奔。
雁塔农会一直决议通过了对Lee老师LOOK的全力支持。即日起开设LOOK
的专题分类【LOOK操作系统


菜农 HotPower@163.com 2011.5.23 20.08 于雁塔菜地

使用特权

评论回复
26
ybing| | 2011-5-23 20:52 | 只看该作者
Mark cool

使用特权

评论回复
27
sysdriver| | 2011-5-23 21:17 | 只看该作者
有这样的思想,很不错啊,说的还是很有道理的。
可是深度还不够,我自己的深度也不行,总不能找出一种自己比较满意的框架。

我怀疑,程序结构的框架应该没有完美的,只有适合的。这方面有点提高了,另方面就差了。
操作系统的思想也许就是比较标准的框架吧。

PS,感觉LZ的功底是不错了,但是结构和算法这方面有待提高啊。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
xiaojiewen + 1
28
jack_shine| | 2011-5-23 21:38 | 只看该作者
支持一下lz

使用特权

评论回复
29
run_ner| | 2011-5-23 22:01 | 只看该作者
学习了

使用特权

评论回复
30
linqing171| | 2011-5-23 22:49 | 只看该作者
哈哈,楼主的状态机和双缓冲,都已经像模像样了。
跟我刚做完电子设计竞赛三四年的时候的感想差不多了,但是说到架构上,还需要继续努力。

使用特权

评论回复
31
linqing171| | 2011-5-23 22:55 | 只看该作者
24楼剑走偏锋了。我也喜欢去压榨一些资源,比如追求一个外设的最大效率,追求一个功能的最小代码。但这都是走火入魔的表现。
27楼的更中肯。

使用特权

评论回复
32
天凉好个秋| | 2011-5-24 08:33 | 只看该作者
其实没那么复杂,
我喜欢做的是,把cpu分成若干时间片,最好是1ms

在这1ms内,收集信息,处理信息,睡眠到下个1ms,

这样,
LED动态扫描,可达20位,不需要外接什么LED ic
后台处理串口,用输入缓冲区
键盘,更不在话下,
时钟:1000ms=1s
.........
基本上8位单片机能做的都做,无往而不利

使用特权

评论回复
33
xiaojiewen|  楼主 | 2011-5-24 09:46 | 只看该作者
说得很有道理,在这个架构中我没有用到任何结构和算法,所有的通信都是用全局变量解决的(甚至没有考虑节约空间),感觉很散乱,曾今想过用一些类似队列,管道等机制来封装,类似消息机制一样来激发事件,但后来发现这样加大了代码的复杂度,我个人觉得如果用习惯应该是一样的,如果需要做的那么标准,还不如选用OS;关键是要把自己的一套机制弄熟悉,越简单越好;在全局变量标志上,是应该用一些共用体,结构体来做一些结构性的封装,节约空间;谢谢你的指点;欢迎交流:)

使用特权

评论回复
34
xiaojiewen|  楼主 | 2011-5-24 09:49 | 只看该作者
说得很有道理,在这个架构中我没有用到任何结构和算法,所有的通信都是用全局变量解决的(甚至没有考虑节约空间),感觉很散乱,曾今想过用一些类似队列,管道等机制来封装,类似消息机制一样来激发事件,但后来发现这样加大了代码的复杂度,我个人觉得如果用习惯应该是一样的,如果需要做的那么标准,还不如选用OS;关键是要把自己的一套机制弄熟悉,越简单越好;在全局变量标志上,是应该用一些共用体,结构体来做一些结构性的封装,节约空间;谢谢你的指点;欢迎交流:) 27# sysdriver

使用特权

评论回复
35
ayb_ice| | 2011-5-24 10:10 | 只看该作者
在8~16位机使用OS其实效率远不如裸奔,因为这些应用的对象一般是固定的,可以预先计算各个任务需要的大致时间,那么关键是合理的分配CPU的时间给各个任务
32L的架构就很好,

使用特权

评论回复
36
caiwenbin| | 2011-5-24 10:40 | 只看该作者
楼主讲的这些,我这样的入门级的菜鸟,都没感觉有什么深度的啊!

使用特权

评论回复
37
cyzmef| | 2011-5-24 11:00 | 只看该作者
写的还好,呵呵,确实有了时间片意识,就差不多了,单单片机确实功能弱了点,有了全局观念,来搞单片机,感觉有种牛人在耍杀**刀的感觉,从高处看问题,还是不同的

使用特权

评论回复
38
xlsbz| | 2011-5-24 12:17 | 只看该作者
基础最重要 其余的都是浮云 感觉楼主的C语言基础较差 习惯不好...

使用特权

评论回复
39
intermec| | 2011-5-24 13:00 | 只看该作者
看得不是很明白阿,Lz能给个完整的例子吗

使用特权

评论回复
40
huangdog| | 2011-5-24 13:26 | 只看该作者
学习学习。。。好资料~

使用特权

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

本版积分规则