简介
在上一篇文章中我们使用了HAL函数进行了IO的驱动, 然后我查看官方手册的时候发现并没有一个文档是基于FreeRTOS的移植. 因此稍微花了一点时间将第一篇文章中的toggle LED改成了FreeRtos的版本.
步骤如下
- 首先还是像上文一样创建项目

- 然后按照上图从中间件和软件包中选择RTOS的支持.
- 选择CMSIS_V1 和V2 都可以(V1为基础版)
- 在任务和队列中配置一个我们自己的任务

- 生成项目,并且使用CLION打开
- 在主程序入口找到MX_FREERTOS_Init();
其中初始化了系统的默认任务和自定义任务. - 在自定义任务中加入 IO的输出控制
void StartTask02(void const * argument)
{
/* USER CODE BEGIN StartTask02 */
/* Infinite loop */
for(;;)
{
HAL_GPIO_TogglePin(D0_GPIO_Port,D0_Pin);
osDelay(300);
}
/* USER CODE END StartTask02 */
}
然后进行编译和烧录
实验现象
D0 LED以3HZ的频率进行闪烁.
