schedule.h

来自「avr单片机ATMega16对三相异步电机的智能控制源码」· C头文件 代码 · 共 44 行

H
44
字号


#ifndef __SCHEDULE_H	
 		#define __SCHEDULE_H

 #ifdef MOTOR_GLOBAL
 		#define SCHEDULE_EXT
 #else 
 	    #define SCHEDULE_EXT extern
 #endif
 
 #include "common.h"

 SCHEDULE_EXT volatile uchar TimeTick;
 SCHEDULE_EXT volatile uint MotorDelayTime;

 typedef  struct
 {
	// 指向任务的指针(必须是一个'void(void)'函数)
	void (*pTask)(void);
	
	// 延迟Delay个时标后函数将第一次运行
	unsigned int Delay;

	// 在连续的运行之间的间隔(时标),当Period=0时,任务运行一次.
	unsigned int Period;

	// 当任务需要运行时(由调度器)加1
	unsigned char RunMe;
 } sTask;


 void  InitTimer1(void);
 void SCH_Dispatch_Tasks(void);
 uchar SCH_Add_Task(void (*pFunction)(),	// 任务指针
								const unsigned int DELAY,	// 延迟Delay个时标后函数将第一次运行
								const unsigned int PERIOD);  // 连续的运行之间的间隔(时标)
								
 uchar SCH_Delete_Task(const unsigned char TASK_INDEX);
 void SCH_Init_Timer2(void);
 void SCH_Start(void);

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?