一个简单实用的MCU程序框架(非操作系统, 简单调度任务) - 总体介绍
发布时间
阅读量:
阅读量
单片机程序整体上可以划分为两类:一类是运行操作系统的,另一类则是不运行操作系统的。对于不具备MMU的小型单片机而言,通常采用的是UCOS或RTOS等实时操作系统。然而,在实际应用过程中,我发现使用这类实时操作系统的场景其实并不多见,大多数情况下并不需要操作系统,仅需完成一些简单的功能即可。
在未搭载操作系统的程序中,若缺乏一个统一的框架结构,则代码容易显得杂乱无章,并且可能出现冲突问题,导致调试过程变得异常繁琐。这就好比在最初编写单片机程序时,想要添加一个简单的闪烁灯功能都需要耗费大量时间。本文所介绍的是一种简洁实用的MCU程序框架设计方法,该框架能够有效简化开发流程,并且基于该框架进行不同型号单片机之间的程序移植也变得极为便捷。例如,在将一个十速单片机的程序移植至合泰单片机时,由于两者采用相同的框架结构,因此实现了基本无缝的迁移。
首先需要明确的是关于单片机中断的相关内容。在没有中断的情况下,单片机会持续执行主程序;而当中断发生时,则会进入对应的中断服务程序。因此可以说中断本质上是一种优先级高于主程序的线程形式。无论是定时中断还是串口中断,每一个中断都可以被视为一个独立的线程。既然涉及多线程机制,则必然会产生资源竞争与冲突的问题。例如,在主函数中对某个全局变量进行访问的同时,在中断服务函数中也可能对该变量进行读写操作,这就可能引发冲突问题。如需进一步了解相关细节,请参考我的另
全部评论 (0)
还没有任何评论哟~
