Задержать выполнение

Создание исполняемых модулей для электронных ключей SenseLock

Задержать выполнение

Сообщение ameba » Ср, 30 сен 2009 04:52

Добрый день!

В целях безопасности необходимо приостановить выполнение функции на несколько секунд. Каким образом это лучше сделать? Ключ без RTC.

При исполнении следующего кода ключ становится недоступен.


Код: Выделить всё
    if(stopRead == TRUE){
        _set_timer(1, &tick_count);
        _start_timer();
        tick_count = 0;
        while (tick_count / 250 < 4000 )
            _get_timer(&tick_count);
        _stop_timer();
        stopRead = FALSE;
    }

    stopRead = TRUE;
ameba
 
Сообщения: 3
Зарегистрирован: Вт, 29 сен 2009 10:20

Re: Задержать выполнение

Сообщение hijaq » Ср, 30 сен 2009 12:15

А почему tick_count инициализируется в 0 после вызова _set_timer()?
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Re: Задержать выполнение

Сообщение ameba » Пт, 02 окт 2009 13:58

hijaq писал(а):А почему tick_count инициализируется в 0 после вызова _set_timer()?


Досадное недоразумение.
Без этой строчки не приостанавливает работу.
ameba
 
Сообщения: 3
Зарегистрирован: Вт, 29 сен 2009 10:20

Re: Задержать выполнение

Сообщение hijaq » Пт, 02 окт 2009 17:40

Я имел ввиду, почему установка tick_count в 0 идет после вызова _set_timer(), а не до. Вы уверены, что таймер инициализируется нужным значением (по приведенному коду этого неясно)?
hijaq
Site Admin
 
Сообщения: 213
Зарегистрирован: Пт, 06 апр 2007 14:50

Re: Задержать выполнение

Сообщение ameba » Пт, 02 окт 2009 19:51

Спасибо, проблема была в неверной инициализации, теперь решена.
ameba
 
Сообщения: 3
Зарегистрирован: Вт, 29 сен 2009 10:20


Вернуться в Исполняемые модули

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

cron