- 打卡等级:以坛为家II
- 打卡总天数:503
- 最近打卡:2025-05-07 06:52:04
已绑定手机
金牌会员
- 积分
- 1220
|
本帖最后由 380091044 于 2024-4-15 17:07 编辑
typedef struct
{
u8 Run;//任务状态:Run/Stop
u16 TIMCount;//定时计数器
u16 TRITime;//重载计数器
void (*TaskHook) (void);//任务函数
} TASK_COMPONENTS;
static TASK_COMPONENTS Task_Comps[]=
{
//状态 计数 周期 任务函数名
{0, 1, 1, Sample_Display},/* 任务1:task 1 Period:1ms */
{0, 10, 10, Sample_MatrixKey},/*任务2: task 2 Period:10ms */
{0, 10, 10, Sample_adcKey},/* 任务3:task 3 Period:10ms */
{0, 300, 300, Sample_NTC},/* 任务4:task 4 Period:300ms */
{0, 500, 500, Sample_RTC},/*任务5:task 5 Period:500ms */
/* Add new task here */
};//这里任务状态,都是0是停止状态是吗?
void Task_Marks_Handler_Callback(void)
{
u8 i;
for(i=0; i<Tasks_Max; i++)
{
if(Task_Comps.TIMCount)/* If the time is not 0 */
{
Task_Comps.TIMCount--;/* Time counter decrement */
if(Task_Comps.TIMCount == 0)/* If time arrives */任务时间倒计时到0了,
{
/*Resume the timer value and try again */
Task_Comps.TIMCount = Task_Comps.TRITime;//重载计数值
Task_Comps.Run = 1;/* The task can be run */开始任务运行是吗?感觉有点晕这点? }
}
}
}
void Task_Pro_Handler_Callback(void)
{
u8 i;
for(i=0; i<Tasks_Max; i++)
{
if(Task_Comps.Run)/* If task can be run */程序运行就清零,说不通?
{
Task_Comps.Run = 0;/* Flag clear 0 */ //这里任务状态是0不是停止吗?下面一条,说是运行任务,是0运行,1停止吗?
Task_Comps.TaskHook();/* Run task */任务运行??
}
}
}
|
|