Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Void main(void)

{

int quit=0;

LedOff();

TimerOpen();

//Инсталлирование пользовательского таймера

InstallUserTimer(MyTimerFun);

while(!quit)

{

if (IsCom1())

{

data = ReadCom1();

if (data ==’q’) quit = 1;

}

}

TimerClose();

LedOn();

} //Конец main ()

 

Использование сторожевого таймера

Сторожевой таймер контроллера I-7188 активизирован и процедура обработки прерывания системного таймера его обнуляет. Сторожевой таймер по умолчанию установлен на 1.6 секунд.

Когда пользовательская программа вызывает функцию EnableWDT, ПОП системного таймера перестает обнулять сторожевой таймер и пользовательская программа должна вызывать функцию RefreashWDT, до того пока таймер не досчитал до 1.6 секунд. В противном случае операционная система контроллера будет автоматически перезагружаться.

После вызова функции DisableWDT, процедура обработки прерывания системного таймера опять начинает обнулять сторожевой таймер и поэтому, пользовательская программа уже может не вызывать функцию RefreashWDT.

Функция IsResetByWatchDogTimer используется для проверки, модуль 7188 перезагружен или нет с помощью сторожевого таймера. Эта функция должна применяться в начале программы.

 

 

Пример.

main()

{

if (IsResetByWatchDogTimer())

{

//Здесь код для контроля системы

}

int quit =0;

EnableWDT();

while (!quit)

{

RefreachWDT();

User_function();

}

DisableWDT();

}

 


Дата добавления: 2015-08-03; просмотров: 39 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Unsigned long count);| Unsigned int offset, char data);

mybiblioteka.su - 2015-2024 год. (0.005 сек.)