创建第一个多任务程序
文章目录
目录
前言
STM32F4用的普中的板子,配套的屏幕驱动对应不上,已目前的水平还没有办法解决这个问题。已在某鱼买了配套的屏幕,STM32先拖几天,拿了同学的板子,开始学习韦东山老师的FreeRTOS
一、目标
创建两个任务,任务A运行Led_Test,任务B运行LCD_Test
二、接口函数
BaseType_t xTaskCreate( TaskFunction_t pxTaskCode, // 函数指针, 任务函数
const char * const pcName, // 任务的名字
const configSTACK_DEPTH_TYPE usStackDepth, // 栈大小,单位为word,10表
// 示40字节
void * const pvParameters, // 调用任务函数时传入的参数
UBaseType_t uxPriority, // 优先级
TaskHandle_t * const pxCreatedTask ); // 任务句柄, 以后使用它来操作这
// 个任务
三、编程
首先运行视频配套的源码中的02
实验现象为OLED屏幕显示HelloWorld,并且下方的数字不断刷新,与此同时单片机最小模块上面的LED灯不断闪烁,可见是两个驱动不断交替运行,下面开始由提供的基础模板进行这个实验的编程
1、打开01这个模板,driver_led.c文件中有一个死循环
void Led_Test(void)
{
Led_Init();
while (1)
{
Led_Control(LED_GREEN, 1);
mdelay(500);
Led_Control(LED_GREEN, 0);
mdelay(500);
}
}
同时,driver_lcd.c 文件中也有一个死循环