Task_Led2_PRIO 8 LED2 闪烁任务
Task_Led3_PRIO 9 LED3 闪烁任务
为了兼顾实时效率及 CPU 的负荷。将 ucosII 的时钟节拍设置为 10ms, ucosII 需要提供周期性信号源,用于实现时间延时和确认超时,时钟节拍的含义就是任务和任务之间最短切换时间。这个节拍也不能设置的非常短,会造成 CPU 负荷过大,会造成任务执行兼顾不周。 某些高优先级任务总是在执行,有些低优先级任务得不到执行。 但节拍也不能设置的非常长,这会造成任务执行的实时性变差。 一般 10-100ms 就可以了。
下面分析一下这个程序的结构。
打开工程,可以在工程结构栏看到这个例程的工程结构(如下图)
Startup 组项:
包含了适用于 STM32F103 高容量系列的启动文件。 这是程序的执行的入口文件。在上电启动时,主要完成了对堆栈的初始设置,设置中断向量表,以及跳转到最终指向 main()函数的 C 库。
APP 组项:
App.c 里包含了任务的建立、各任务的原型以及 ucosII 内核的启动。
Stm32f10x_it.c 里包含了各个中断服务程序。在这个例程中,只用到了两个中断,一个是 systick 中断,一个是串口 1 中断。 Systick 中断为 ucosII 内核提供了 10ms 的时钟节拍。
BSP 组项:
Com.c 包含了串口 1 的初始化。
Bsp.c 包含了对所用到外设的初始化。
FWLIB 组项:
这个组项里包含了例程所用的到的 STM32 的各外设固件库。
Misc.c 是和中断设置有关系的固件库
Stm32f10x_gpio.c 是和通用端口有关系的库
Stm32f10x_rcc.c 是和外设时钟有关系的库
Stm32f10x_usart.c 是和串口有关系的库
组项:
以下的文件都是 ucosII2.86 源码。 这些文件已经移植到 STM32 平台下,可以直接包含到工程里使用。
CM3 组项:
Core_cm3.c 包含了 Coretex-M3 内核的外设访问层源文件。
System_stm32f10x.c 包含了和 Coretex-M3 系统时钟有关系的外设访问层源文件。
3.4 软件程序设计
3.4.1 ADC处理程序
此程序是本课题数据采集设计与实现的主要程序
- 上一篇:MATLAB模糊-PID的电锅炉温度控制及仿真+文献综述
- 下一篇:iFIX火电厂输煤监控系统设计+文献综述
-
-
-
-
-
-
-
上市公司股权结构对经营绩效的影响研究
g-C3N4光催化剂的制备和光催化性能研究
中国传统元素在游戏角色...
高警觉工作人群的元情绪...
C++最短路径算法研究和程序设计
浅析中国古代宗法制度
NFC协议物理层的软件实现+文献综述
江苏省某高中学生体质现状的调查研究
现代简约美式风格在室内家装中的运用
巴金《激流三部曲》高觉新的悲剧命运