提示:针对不同的模块,调用时间间隔不同,合理利用系统资源。
关于裸机调度的时间片
main.c
typedef struct
{
uint8_t run; // 调度标志,1:调度,0:挂起
uint16_t timCount; // 时间片计数值
uint16_t timRload; // 时间片重载值
void (*pTaskFuncCb)(void); // 函数指针变量,用来保存业务功能模块函数地址
} TaskComps_t;
static TaskComps_t g_taskComps[] =
{
{
0, 5, 5, HmiTask},
{
0, 10, 10, WifiNetworkTask},
{
0, 100, 100, SensorTask},
// {0, 1000, 1000, BatteryDrvTest},
{
0, 1000, 1000, BatteryTask},
/* 添加业务功能模块 */
};
#define TASK_NUM_MAX (sizeof(g_taskComps)