创建两个任务
什么是任务呢?
对于整个单片机程序,我们称之为application,应用程序。
使用FreeRTOS时,我们可以在application中创建多个任务(task),有些文档把任务也称为线程
(thread)。
void Task1Function(void *param)
{while(1){printf("1");}
}void Task2Function(void *param)
{while(1){printf("2");}
}/*-----------------------------------------------------------*/int main( void )
{TaskHandle_t XHandleTask1;TaskHandle_t XHandleTask2;#ifdef DEBUGdebug();
#endifprvSetupHardware();printf("Hello,world!\r\n");xTaskCreate(Task1Function,"task1",100,NULL,1,&XHandleTask1);xTaskCreate(Task2Function,"task2",100,NULL,1,&XHandleTask2);/* Start the scheduler. */vTaskStartScheduler();/* Will only get here if there was not enough heap space to create theidle task. */return 0;
}
作业:建立第三个任务:LED闪烁
FreeRTOS源码结构
Demo就是工程文件,命名方式就是芯片+编辑器;
Source是核心文件,包括列表队列什么的;
编程规范
这个编程规范只适用于FreeRTOS,不适用于其他的;