G
Guest
Guest
Привіт,
Будь ласка, будь-хто може допомогти мені пояснити наступні функції:
Q1) Функція X_InitQ2) функції XQ3) Функція sEOS_ISR ()Q4) Функція sEOS_Go_To_SleepКод:
# Включити <reg52.h># Визначити OSC_FREQ (12000000UL)
# Визначити OSC_PER_INST (12)недійсним sEOS_Init_Timer2 (сопзЬ іпзхдпей сЬаг);
недійсним sEOS_Go_To_Sleep (недійсними);
недійсним X_Init (недійсними);
недійсною X (недійсними);
недійсним X_Init (недійсними);# Визначити INTERRUPT_TIMER_2_Overflow травняОсновними недійсним (недійсними)
(
X_Init (); / / підготуємо для манекена завданняsEOS_Init_Timer2 (60); / / створити простий EOS (60ms галочку інтервал)в той час як (1)
(
sEOS_Go_To_Sleep ();
)
)недійсним X_Init (недійсними)
(
/ / Пустушка завдання ініціалізації функції
/ / Пустушка завдання ініціалізації ...
)недійсною X (недійсними)
(
/ / Пустушка завдання викликається з ОПВ ISR
/ / Пустушка завдання ....
)sEOS_ISR недійсними () переривання INTERRUPT_TIMER_2_Overflow
(
TR2 = 0;
X ();
)недійсним sEOS_Init_Timer2 (сопзЬ іпзхдпей сЬаг TICK_MS)
(
непідписаних довгий Inc;
непідписаних Int Reload_16;
непідписані символ Reload_08H, Reload_08L;T2CON = 0x04;Inc = (TICK_MS * (OSC_FREQ/1000)) / OSC_PER_INST;
/ / = 60000 Inc = 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 (недійсними)
(
PCON | = 0x01; / / Вхід в режим очікування (загальний 8051 версія)
)
Будь ласка, будь-хто може допомогти мені пояснити наступні функції:
Q1) Функція X_InitQ2) функції XQ3) Функція sEOS_ISR ()Q4) Функція sEOS_Go_To_SleepКод:
# Включити <reg52.h># Визначити OSC_FREQ (12000000UL)
# Визначити OSC_PER_INST (12)недійсним sEOS_Init_Timer2 (сопзЬ іпзхдпей сЬаг);
недійсним sEOS_Go_To_Sleep (недійсними);
недійсним X_Init (недійсними);
недійсною X (недійсними);
недійсним X_Init (недійсними);# Визначити INTERRUPT_TIMER_2_Overflow травняОсновними недійсним (недійсними)
(
X_Init (); / / підготуємо для манекена завданняsEOS_Init_Timer2 (60); / / створити простий EOS (60ms галочку інтервал)в той час як (1)
(
sEOS_Go_To_Sleep ();
)
)недійсним X_Init (недійсними)
(
/ / Пустушка завдання ініціалізації функції
/ / Пустушка завдання ініціалізації ...
)недійсною X (недійсними)
(
/ / Пустушка завдання викликається з ОПВ ISR
/ / Пустушка завдання ....
)sEOS_ISR недійсними () переривання INTERRUPT_TIMER_2_Overflow
(
TR2 = 0;
X ();
)недійсним sEOS_Init_Timer2 (сопзЬ іпзхдпей сЬаг TICK_MS)
(
непідписаних довгий Inc;
непідписаних Int Reload_16;
непідписані символ Reload_08H, Reload_08L;T2CON = 0x04;Inc = (TICK_MS * (OSC_FREQ/1000)) / OSC_PER_INST;
/ / = 60000 Inc = 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 (недійсними)
(
PCON | = 0x01; / / Вхід в режим очікування (загальний 8051 версія)
)