- 打卡等级:以坛为家III
 
				- 打卡总天数:649
 
				
				
				- 最近打卡:2025-11-03 08:23:05
 
				  
  已绑定手机 
金牌会员 
 
 
	- 积分
 - 1344
 
 
 
 
 | 
 
 本帖最后由 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 */任务运行?? 
                } 
        } 
} 
 
 |   
 
 
 
 |