G
Guest
Guest
Привет,
Пожалуйста, любой может помочь мне разъяснить следующие функции:
Q1) Функция X_InitQ2) Функция XQ3) Функция sEOS_ISR ()Q4) Функция sEOS_Go_To_SleepКод:
# включить <reg52.h># DEFINE OSC_FREQ (12000000UL)
# DEFINE OSC_PER_INST (12)Пустота sEOS_Init_Timer2 (сопзЬ неподписанных Char);
Пустота sEOS_Go_To_Sleep (VOID);
Пустота X_Init (VOID);
Пустота X (VOID);
Пустота X_Init (VOID);# DEFINE INTERRUPT_TIMER_2_Overflow 5Основными Void (Пустота)
(
X_Init (); / / подготовим для манекена задачиsEOS_Init_Timer2 (60); / / создать простой EOS (60ms галочку интервал)While (1)
(
sEOS_Go_To_Sleep ();
)
)X_Init Void (Пустота)
(
/ / Пустышка функция инициализации задачи
/ / Пустышка инициализации задачи ...
)Пустота X (VOID)
(
/ / Пустышка Задача требовала от опс ISR
/ / Пустышка задачи ....
)Пустота sEOS_ISR () прервать INTERRUPT_TIMER_2_Overflow
(
TR2 = 0;
X ();
)Пустота sEOS_Init_Timer2 (сопзЬ неподписанных TICK_MS Char)
(
неподписанных долгое Inc;
неподписанных Int Reload_16;
неподписанных Char Reload_08H, Reload_08L;T2CON = 0x04;Inc = (TICK_MS * (OSC_FREQ/1000)) / OSC_PER_INST;
/ / INC = 60000 = 0xEA60
Reload_16 = (65536UL - Inc); / / Reload_16 = 5536 = 0x15A0Reload_08H = (Reload_16 / 256);
Reload_08L = (Reload_16% 256);TH2 = Reload_08H / / 0x15
RCAP2H = Reload_08H;
TL2 = Reload_08L / / 0xA0
RCAP2L = Reload_08L;ET2 = 1;
TR2 = 1;EA = 1;
)sEOS_Go_To_Sleep Void (Пустота)
(
PCON | = 0x01; / / Вход в режиме ожидания (Generic 8051 Version)
)
Пожалуйста, любой может помочь мне разъяснить следующие функции:
Q1) Функция X_InitQ2) Функция XQ3) Функция sEOS_ISR ()Q4) Функция sEOS_Go_To_SleepКод:
# включить <reg52.h># DEFINE OSC_FREQ (12000000UL)
# DEFINE OSC_PER_INST (12)Пустота sEOS_Init_Timer2 (сопзЬ неподписанных Char);
Пустота sEOS_Go_To_Sleep (VOID);
Пустота X_Init (VOID);
Пустота X (VOID);
Пустота X_Init (VOID);# DEFINE INTERRUPT_TIMER_2_Overflow 5Основными Void (Пустота)
(
X_Init (); / / подготовим для манекена задачиsEOS_Init_Timer2 (60); / / создать простой EOS (60ms галочку интервал)While (1)
(
sEOS_Go_To_Sleep ();
)
)X_Init Void (Пустота)
(
/ / Пустышка функция инициализации задачи
/ / Пустышка инициализации задачи ...
)Пустота X (VOID)
(
/ / Пустышка Задача требовала от опс ISR
/ / Пустышка задачи ....
)Пустота sEOS_ISR () прервать INTERRUPT_TIMER_2_Overflow
(
TR2 = 0;
X ();
)Пустота sEOS_Init_Timer2 (сопзЬ неподписанных TICK_MS Char)
(
неподписанных долгое Inc;
неподписанных Int Reload_16;
неподписанных Char Reload_08H, Reload_08L;T2CON = 0x04;Inc = (TICK_MS * (OSC_FREQ/1000)) / OSC_PER_INST;
/ / INC = 60000 = 0xEA60
Reload_16 = (65536UL - Inc); / / Reload_16 = 5536 = 0x15A0Reload_08H = (Reload_16 / 256);
Reload_08L = (Reload_16% 256);TH2 = Reload_08H / / 0x15
RCAP2H = Reload_08H;
TL2 = Reload_08L / / 0xA0
RCAP2L = Reload_08L;ET2 = 1;
TR2 = 1;EA = 1;
)sEOS_Go_To_Sleep Void (Пустота)
(
PCON | = 0x01; / / Вход в режиме ожидания (Generic 8051 Version)
)