Гл ас д-р инж. Любомир Богданов


алтернативен тактов сигнал



Pdf просмотр
страница10/17
Дата06.03.2024
Размер2.94 Mb.
#120572
1   ...   6   7   8   9   10   11   12   13   ...   17
06 timers
Свързани:
01 introduction
алтернативен тактов сигнал за модула, ако основният спре.
Почти всички μCU имат регистър, в който се записва
причината за рестартирането. Той може да бъде прочетен и ако причината е рестарт от стражевия таймер, потребителският фърмуер може да опита да се справи с аварийната ситуация.
Стражеви таймери


52/86
Стражеви таймери
Стражеви таймер на
MSP430.
Спиране на таймера.
Паролата се записва едновременно с конфигуриращия бит за изключване
(HOLD).
Паролата е числото
0х5А.
WDTCTL = 0x5A00 | WDTHOLD;


53/86
Стражеви таймери
Стражеви таймер на
STM32L011.
1.Трябва да се разреши таймера с
IWDG_KR = 0x0000CCCC;
2. Трябва да се въведе парола
(в същия регистър):
IWDG_KR = 0x00005555;
3. Запис в контролен регистър.


54/86
Стражеви таймери
int main(void){
init();
prog_params_manual_prog();
start_low_power_timer();
while(1){
HAL_PWR_EnterSTOPMode(PWR_LOWPOWERREGULATOR_ON, PWR_STOPENTRY_WFI);
if(...){
}
if(...){
if(...){
start_pause_timeout();
}
if(...){
play_beep();
}
}
else{
if(...){
stop_pause_timeout();
}
if(...){
battery_check();
}
}
watchdog_refresh();
}
}
Пример – STML011 в приложение с ниска енергийна консумация и стражеви таймер.
Отделен таймер генерира прекъсвания на всеки 20 ms, което “събужда” while-цикъла в main( ) програмата и занулява стражевия таймер.


55/86
Стражеви таймери
void init(void){


Сподели с приятели:
1   ...   6   7   8   9   10   11   12   13   ...   17




©obuch.info 2024
отнасят до администрацията

    Начална страница