3.软件设计
任务Task1的优先级设置为3,堆栈大小为128字节,句柄为Task1_Handle。
任务Task2的优先级设置为2,堆栈大小为128字节,句柄为Task2_Handle。
任务Task3的优先级设置为2,堆栈大小为128字节,句柄为Task3_Handle。
在STM32CubeMX中分配任务,配置GPIOB、USART硬件参数以及系统时钟等,生成MDK工程文件,在“main.c”文件中添加如下代码。(https://www.daowen.com)



在main()函数中主要完成硬件的初始化,硬件初始化完成以后创建了3个任务,并且开启了FreeRTOS的任务调度。按照优先级的高低,依次执行Task1,遇到延时函数vTaskDelay()进入阻塞态;任务Task2和Task3按照时间片轮转执行;3个任务如此循环,当Task1执行两次后删除。