Сегодня: 16:12:2025 Доброй вам ночи!

I live ExBB and CMS Limbo!  I live ExBB and CMS Limbo!
Логин :
Пароль :
Регистрация?  Забыли пароль? 
 


 Страниц (1): [1]   

> Без описания

  Супермодератор
Отправлено: 2 июня 2016 — 15:31
ответить цитировать Post Id


 Покинул NordWest
Профессионал
Сообщений: 1842
Регистрация: 12.2011

В Arduino для ориентации во времени часто используются счетчики millis() и micros(). Однако нужно учитывать, что в определённый момент счетчики достигают своего предельного значения 4294967295 после чего переходят в ноль (счетчик переполняется). Если не правильно сформировать условие, то можно получить очень неприятный эффект, когда программа изредка будет неверно работать или вообще подвисать.

Например такой код будет неверен
code:
if (millis() > timeold+INTERVAL) ;


правильно писать нужно только так
code:
if (millis()-timeold > INTERVAL) ;
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Arduino - простая работа с микроконтролером »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Все гости форума могут отвечать на сообщения в этом разделе.
 


> Создание ответа в тему "Как не наступить на грабли при переполнении счетчиков."
Имя: Гость   Вы зарегистрированы?
Помощь по ExBBCodes
С помощью кодов можно очень легко применять различные виды стилей к выделенному тексту.
Смайлики

smilie smilie smilie smilie smilie
smilie smilie smilie smilie smilie
smilie smilie smilie smilie smilie

все смайлики
Опции сообщения Вы хотите разрешить смайлики в этом сообщении?
   


Powered by ExBB v1.1.180311