#ifndef __LH_TASKMANAGER_H__ #define __LH_TASKMANAGER_H__ /* �ļ�˵�������������Դ�ļ� ���ߣ� ���� ԭ�����룺ʹ���뱣���˶� �������ڣ�2020��3��27�� ע�⣺����������Ŀʵ�����Թ����ܹ������ȶ����� Ŀǰ֧��MCU�ͺţ�STC Atmel stm32 stm8 msp430 cc2530 ���� NXP pic */ #include "system.h" #define TaskNumber 10 //������������ #define ENABLED_INTERRUPT__ __enable_irq();//����ȫ���ж� #define DISABLE_INTERRUPT__ __disable_irq(); //�ر�ȫ���ж� struct LiuHaoTaskStruct ; typedef struct LiuHaoTaskStruct TaskList_Items; typedef TaskList_Items *LH_TaskList; struct LiuHaoTaskStruct { int Task_ID;//pic��Ƭ����Ҫ��int ������Ƭ����char���� int Task_Time; int (*_Fun)(void); LH_TaskList LIst_Next;//ָ����һ���б��� }; void TaskManager_Init(void); // ��ʼ����������� void TaskManager_Scheduling(void) ; // ������ȹ����� �ŵ���ʱ���ж����� �δ���� ���е��� void TaskManager_Run(void) ; // ����ִ���� �ŵ�������ִ�������� void Add_WaitList(LH_TaskList LHpStack) ; // ����ȴ�̬ ���Ӵ�ִ�е����� void Add_TimingList(LH_TaskList LHpStack) ; // ��������ʱ�� void Add_SuspendList(LH_TaskList LHpStack) ; // �������̬ �����������б� /*********************************************************************** ����������,��ij��������Ϊ��������ɶ�ʱ���õȹ��� ������Task_ID������Task_ID�������ظ�����ཫ����ʧ�� _Fun: �û��������� time: ��������ʱtime * ϵͳ�δ�ʱ�� ��ִ�� _Fun���� �������0������ʱ��ִ�У���Start_Tasks�������� ***********************************************************************/ char UserTask_Create(char id,int (*_Fun)(void),int time); // �û�������ͨ���� /*********************************************************************** ������ʱ����,��ʱtime * ϵͳ�δ�ʱ�� ��ִ�иú���*** ϵͳ�δ�ʱ��һ���ɶ�ʱ����ʱһ��10ms _Fun: �û���ʱ���������� time: ��������ʱtime * ϵͳ�δ�ʱ�� ��ִ�� _Fun���� ***********************************************************************/ char UserTimerTask_Create(int (*_Fun)(void),int time); // ������ʱ������ /*********************************************************************** ��ij������ʼִ��*** id: ����id time: ��������ʱtime * ϵͳ�δ�ʱ�� ��ִ�У����Ϊ0������ִ�� ***********************************************************************/ char Start_Tasks(char id,int time); // �������������� // ֹͣһ������ char Stop_Tasks(char id) ; // ��ִ���������(ֹͣ) // ɾ������ char Delete_Tasks(char id) ; // ɾ������ #endif