×
单片机 > 单片机程序设计 > 详情

基于STM32的uC-OS-III 初学(2) - 基本工程建立和使用

发布时间:2020-05-29 发布时间:
|

1.根据上一章提到的下载地址下载源码,解压缩到某文件夹下 

2.进入下图所示文件夹下,打开OS3.eww工程文件



3.开始修改源码,APP.c包含了应用的入口main函数,这里可以看到调用了一些函数,这里我们暂时不需要知道他们的用途,只需要知道OSTaskCreate()函数是用于创建一个线程或者叫任务,其中参数大体解释如下图,如有错误请指出谢谢,具体的可以查看函数原型,函数前部有参数的详细解释。

1). 我们打算建立3个任务,第一个任务每1s执行一些任务,第二个任务每5s执行一些任务,第三个任务每10s执行一些任务,首先声明3个任务的优先级和任务的堆栈大小



2). 声明对应的任务控制块、任务堆栈数组和任务函数原型



3). 在AppTaskStart()任务中生成3个新的任务,首先进入AppTaskStart(),这里需要修改一个地方,BSP_Init()里面的代码是用于初始化应用的,所以这里要改成我们的,如果你想要初始化LED灯,那么就可以在里面进行GPIO的初始化,这里我们不需要初始化所以我直接注释掉了。删除次函数中BSP_LED_Off(0u)以及之后的所有语句,然后拷贝3次main函数里的OSTaskCreate函数到这里,分别修改其中的参数如下图所示,这样任务就创建完成了。



4). 进入每个任务函数原型,修改函数的内容,这里我们只加了延时函数,如下图所示,这样我们就完成了基本的任务创建和任务功能的编写。



5). 使用JLink和STLink进行调试,每个任务设个断点,可以发现任务1每1s中断一次,任务2每5s中断一次,任务3每10s中断一次,说明人物创建成功。


关键字:STM32  uC-OS-III  工程建立

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
浅谈AVR中定时器几种工作模式