利用HAL库生成FreeRTOS代码
1、首先,新建一个STM32CubeMX工程,在工程的“Pinout”页展开"FreeRTOS”项,勾选“Enabled”使能FreeRTOS功能。

3、回到工程界面,切换到“Pinout”页,展开左侧的“SYS”,在Timebase Source右侧的列表中选择SysTick以外的单元,比如"TIM2",如果该TIM为灰色那么肯定是被其他功能占用了。

4、设置完SYS后,重新生成代码,这里选择的是Keil工程。

5、使用Keil打开刚刚生成的功臣改代码,切换到main.c,在main函数中会看到下面的代码: /涯箨唁峦* Create the thread(s) */ /* definition and creation of defaultTask */ osThreadDef(defaultTask, StartDefaultTask, osPriorityNormal, 0, 128); defaultTaskHandle = osThreadCreate(osThread(defaultTask), NULL);这里实际上市创建了一个名为“defaultTask”的任务,它的任务函数名为StartDefaultTask,优先等级为Normal,堆栈长度128 。同时使用osThreadCreate创建该任务,赋值给defaultTaskHandle句柄。

7、我们可以在任务函数StartDefaultTask中添加自己的代码,比如调用printf打印一串字符。注意调用printf需要先实现fputc函数。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:62
阅读量:86
阅读量:78
阅读量:62
阅读量:60