任务优先级设置不当或者任务间的资源竞争可能会导致系统不稳定。
3.1 适当调整任务优先级
确保SD卡写入任务和屏幕显示任务的优先级设置合理,不会导致任务饥饿或优先级反转。
c
#define SD_TASK_PRIORITY (tskIDLE_PRIORITY + 2)
#define LCD_TASK_PRIORITY (tskIDLE_PRIORITY + 1)
xTaskCreate(sdTask, "SD Task", SD_TASK_STACK_SIZE, NULL, SD_TASK_PRIORITY, NULL);
xTaskCreate(lcdTask, "LCD Task", LCD_TASK_STACK_SIZE, NULL, LCD_TASK_PRIORITY, NULL);
|