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

[复制链接]
58723|237
老鱼探戈 发表于 2011-5-23 19:36 | 显示全部楼层
没什么亮点....
mochou 发表于 2011-5-23 19:38 | 显示全部楼层
hotpower 发表于 2011-5-23 19:42 | 显示全部楼层
feigs0710 发表于 2011-5-23 20:32 | 显示全部楼层
不错,算是入门了。
mcu firmware 设计最重要的是要有资源的概念,其它都是浮云。
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 于雁塔菜地
ybing 发表于 2011-5-23 20:52 | 显示全部楼层
Mark cool
sysdriver 发表于 2011-5-23 21:17 | 显示全部楼层
有这样的思想,很不错啊,说的还是很有道理的。
可是深度还不够,我自己的深度也不行,总不能找出一种自己比较满意的框架。

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

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

评分

参与人数 1威望 +1 收起 理由
xiaojiewen + 1

查看全部评分

jack_shine 发表于 2011-5-23 21:38 | 显示全部楼层
支持一下lz
run_ner 发表于 2011-5-23 22:01 | 显示全部楼层
学习了
linqing171 发表于 2011-5-23 22:49 | 显示全部楼层
哈哈,楼主的状态机和双缓冲,都已经像模像样了。
跟我刚做完电子设计竞赛三四年的时候的感想差不多了,但是说到架构上,还需要继续努力。
linqing171 发表于 2011-5-23 22:55 | 显示全部楼层
24楼剑走偏锋了。我也喜欢去压榨一些资源,比如追求一个外设的最大效率,追求一个功能的最小代码。但这都是走火入魔的表现。
27楼的更中肯。
天凉好个秋 发表于 2011-5-24 08:33 | 显示全部楼层
其实没那么复杂,
我喜欢做的是,把cpu分成若干时间片,最好是1ms

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

这样,
LED动态扫描,可达20位,不需要外接什么LED ic
后台处理串口,用输入缓冲区
键盘,更不在话下,
时钟:1000ms=1s
.........
基本上8位单片机能做的都做,无往而不利
 楼主| xiaojiewen 发表于 2011-5-24 09:46 | 显示全部楼层
说得很有道理,在这个架构中我没有用到任何结构和算法,所有的通信都是用全局变量解决的(甚至没有考虑节约空间),感觉很散乱,曾今想过用一些类似队列,管道等机制来封装,类似消息机制一样来激发事件,但后来发现这样加大了代码的复杂度,我个人觉得如果用习惯应该是一样的,如果需要做的那么标准,还不如选用OS;关键是要把自己的一套机制弄熟悉,越简单越好;在全局变量标志上,是应该用一些共用体,结构体来做一些结构性的封装,节约空间;谢谢你的指点;欢迎交流:)
 楼主| xiaojiewen 发表于 2011-5-24 09:49 | 显示全部楼层
说得很有道理,在这个架构中我没有用到任何结构和算法,所有的通信都是用全局变量解决的(甚至没有考虑节约空间),感觉很散乱,曾今想过用一些类似队列,管道等机制来封装,类似消息机制一样来激发事件,但后来发现这样加大了代码的复杂度,我个人觉得如果用习惯应该是一样的,如果需要做的那么标准,还不如选用OS;关键是要把自己的一套机制弄熟悉,越简单越好;在全局变量标志上,是应该用一些共用体,结构体来做一些结构性的封装,节约空间;谢谢你的指点;欢迎交流:) 27# sysdriver
ayb_ice 发表于 2011-5-24 10:10 | 显示全部楼层
在8~16位机使用OS其实效率远不如裸奔,因为这些应用的对象一般是固定的,可以预先计算各个任务需要的大致时间,那么关键是合理的分配CPU的时间给各个任务
32L的架构就很好,
caiwenbin 发表于 2011-5-24 10:40 | 显示全部楼层
楼主讲的这些,我这样的入门级的菜鸟,都没感觉有什么深度的啊!
cyzmef 发表于 2011-5-24 11:00 | 显示全部楼层
写的还好,呵呵,确实有了时间片意识,就差不多了,单单片机确实功能弱了点,有了全局观念,来搞单片机,感觉有种牛人在耍杀**刀的感觉,从高处看问题,还是不同的
xlsbz 发表于 2011-5-24 12:17 | 显示全部楼层
基础最重要 其余的都是浮云 感觉楼主的C语言基础较差 习惯不好...
intermec 发表于 2011-5-24 13:00 | 显示全部楼层
看得不是很明白阿,Lz能给个完整的例子吗
huangdog 发表于 2011-5-24 13:26 | 显示全部楼层
学习学习。。。好资料~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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