主函数
int main(void)
{
/* 第一步:开发板硬件初始化 */
BSP_Init();
/* 第二步:创建APP应用任务,所有的应用任务都可以放在这个函数里面 */
AppTaskCreate();
/* 第三步:启动FreeRTOS,开始多任务调度,启动成功则不返回 */
vTaskStartScheduler();
while (1)
{
}
}
应用函数
static void AppTaskCreate(void)
{
xTaskCreate(vTaskLed1, /* 任务函数名 */
"Task Led1", /* 任务名,字符串形式,方便调试 */
512, /* 栈大小,单位为字,即4个字节 */
NULL, /* 任务形参 */
0, /* 优先级,数值越大,优先级越高 */
&xHandleTaskLED1); /* 任务句柄 */
xTaskCreate(vTaskBeep,"Task Beep",512,NULL,2,&xHandleTaskBeep);
}
方法函数
void vTaskLed1(void *pvParameters)
{
/* 任务都是一个无限,不能返回 */
while(1)
{
LED1_ON;
/* 阻塞延时,单位ms */
vTaskDelay( 500 );
LED1_OFF;
vTaskDelay( 500 );
}
}
void vTaskBeep(void *pvParameters)
{
/* 任务都是一个无限,不能返回 */
while(1)
{
BEEP_ON;
/* 阻塞延时,单位ms */
vTaskDelay( 500 );
BEEP_OFF;
vTaskDelay( 500 );
}
参考资料
https://www.cnblogs.com/liu-jing/p/7067395.html