一、概述
常用单片机软件架构大体分三种:
1. 前后台顺序执行程序
2. 时间片轮询法
3. 操作系统
二、前后台顺序执行程序
所谓的前台,就是主动去判断处理某个事务,这个是主循环里要做的事,也就是你代码主要要写的。所谓的后台,指的是:中断,也就是不需要你的CPU去判别,就会自动进入某一种状态,你在这个状态下做你要做的事就可以了。主要结构:mian - while - 中断。
个人觉得,这种方式写程序思路必须清晰,写出的程序容易按顺序读懂。一般用于小型、固定功能的项目较为适合。
三、时间片轮询法
时间片轮询法的本质是利用定时器分频切换任务,能灵活地添加任务(新功能)到项目中,且不用占用像系统那么多的代码空间。其设计过程如下:
四、操作系统
列如:UCOSII、FreeRTOS等等。个人认为,相较其余两种架构,使用系统架构方式的优势在于能任务之间能灵活切换、实时监测芯片CPU等信息,但所需芯片内存较大。其任务切换原理主要结合不同芯片中断而定。列如:STM32利用Pend、SVN中断异常处理任务切换。