📄 mysch.h
字号:
//MySch.h : header file for the MySch project
//
#ifndef _SCH51_H_
#define _SCH51_H_
#ifndef __AVR_ATmega16__
#define __AVR_ATmega16__
#endif
#define OSC_FREQ (8000000UL)
//#define __MCU_CLOCK_FREQUENCY__ _8.0000_MHz
#include <io.h>
#include <wdt.h>
#include <sleep.h>
#include <Interrupt.h>
#include <sig-avr.h>
#include <inttypes.h>
/////////////////////////////////////////////////////////////////////////////
//MySch
// Misc #defines
#ifndef TRUE
#define FALSE 0
#define TRUE (!FALSE)
#endif
#define RETURN_NORMAL 0
#define RETURN_ERROR 1
///////////////////////////////////////////////////
//函数声明和任务结构体定义
// 定义调度器数据结构
// 每一个任务消耗 7 bytes RAM
typedef struct data
{
//定义函数类型指针,const关键字意思是这是一个指向flash的指针
const void (*pTask)(void);
uint16_t Delay; // 任务第一次被执行前的延迟时间,如果为0则立即执行
uint16_t Period; // 任务的执行间隔时间,如果为0,则只执行一次
uint8_t RunMe; // 任务执行标志为,1 等待执行,0 不需要执行
} sTask; //sTask是结构体变量
#endif
// 调度器内核
// 本文件所有函数
//*****************************************************
void SCH_Init_T0(void);
void SCH_Start(void);
void SCH_Manual_Timer0_Reload(void);
// 调度器对外部接口
void SCH_RUN_Tasks(void);
uint8_t SCH_Add_Task(const void (*pFunction)(void),
uint16_t DELAY,
uint16_t PERIOD);
uint8_t SCH_Delete_Task(uint8_t TASK_INDEX);
// 调度器支持的任务个数,用户在调用调度器的时候必须设置
#define SCH_MAX_TASKS 2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -