原创 单片机实践2:编程问题

2014-5-10 10:40 615 12 12 分类: MCU/ 嵌入式
前面说了一下单片机相关的实践,对于单片机相关的编程稍微做下总结,其实网上下的资料上,真的很多是说的很好的,拼拼凑凑下当是自己的思路整理。
在初学单片机的时候,很多实验只要实现很单一的功能,所以程序基本都写在了一个main函数里面,从上往下执行就可以。但是这样功能一旦太多了,复杂了,单一的顺序执行就可能会阻塞,不能满足实时响应的要求。 为了能及时响应外部设备或一些事件的发生,我们把这部分需要及时响应的放到中断里面来处理,而一些时间响应不需要那么紧凑的部分放到main函数的while(1)大循环里面去处理,这样就构成了我们常见的前后台程序结构。中断部分构成前台,超级循环部分构成后台处理,以匹配快速与慢速之间的差别。 前后台程序结构是单片机中应用最为广泛的程序结构。前台程序应该尽量的短小,获得必要的信息,传送给后台,繁杂的处理留给后台程序,这样才能及时的退出中断以便可以继续响应外部中断请求。所以从这一点上看,过去写的很多程序就很有问题,比如第一个项目里面,把一些浮点计算放到中断里面去做,很费资源和时间。等等。。。 当程序进一步复杂,为了更好的实现多任务的调度,那就只能带上操作系统了。
1.程序结构
1.1 轮询式多任务结构
1.2 前后台多任务结构
1.3 


2.一些基本概念
任务
实时性与阻塞
函数重入与临界区
模块化编程/高内聚与低耦合
层次化编程/软件分层

3.一些设计思想与方法
3.1 基于状态机的单片机建模
3.2 缓冲区/数据缓冲/命令缓冲
3.3 中断与事件触发
3.4 操作系统
3.5 




文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条