基于STM32的多任务系统的设计与实现
2021-09-08赵宇科高红亮胡惠敏李小玲
湖北师范大学学报(自然科学版) 2021年3期
赵宇科,高红亮,胡惠敏,李小玲
(湖北师范大学 电气工程与自动化学院,湖北 黄石 435002)
0 引言
当今的单片机种类繁多,发展颇为迅速。而传统的单片机虽然功能完备,但效率偏低,不适用于多任务系统的研发。多任务系统较单任务系统而言,宏观上可同时执行多个任务,但微观上CPU在一段时间内只处理一个任务[1]。目前,多任务处理机制已经成为微控制器的一个基本功能需求。为研究多任务系统的设计,需要选用一款操作简单、性能强大的微控制器。STM32是当今主流的微控制器之一,其运行效率高且能耗较低,故本系统基于STM32进行分析和设计[2]。多任务系统可以给用户良好的体验感,在一定程度上满足用户的需求,故基于STM32实现多任务机制有重要意义。
1 系统设计
在STM32上移植μC/OS-II操作系统后,用户可以在STM32上进行多任务系统的设计开发。μC/OS-II作为应用软件运行的平台,用于调度各个任务和协调任务之间的通信[3]。本系统的设计过程主要包括建立项目工程模板、配置LED和按键的GPIO、移植μC/OS-II、编写项目代码。
本系统使用Keil μVision 5作为编程软件建立工程模板。建立项目时需要注意一些细节。例如,计算机硬件的物理层面和Keil软件的逻辑层面应同时建立对应的文件和正确的文件目录;文件路径的正确性;程序的简洁性。
GPIO是最基本的一类I/O,其每个I/O端口可并行传输数据。STM32数据手册中包含了每个I/O特性的详细说明,据此,可使用Keil5将GPIO配置为多种功能模式。使用GPIO_Configuration函数可以配置GPIO,其中定义结构体变量用以描述GPIO的功能。……
登录APP查看全文
