Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


Ответ
Опции темы
Непрочитано 18.11.2020, 00:17   #21
Владимир 013
Частый гость
 
Регистрация: 07.11.2019
Сообщений: 15
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
Владимир 013 на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

то что вы говорите это что то в этом роде ?
if (a != 0)
{
for ( int a = 100 ; a › 1 ; a-- )

}
Реклама:
Владимир 013 вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 00:33   #22
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от ProtAS-13 Посмотреть сообщение
Сорри за офтоп.
общался хоть раз на забугорных форумах? Тебя там просто заигнорят, если будешь спрашивать всякую чушь. Да даже на форумах тех.поддержки могут тупо заигнорить.

Сообщение от dgrishin Посмотреть сообщение
то через 50 дней можно получить непредсказуемый результат.
Сообщение от dgrishin Посмотреть сообщение
Но проблема периода 50 дней здесь не учитывается.
Никакой проблемы с millis НЕТ. Просто надо помнить: всегда стартовое значение вычитать из millis и никак не наоборот.

Если надо выполнять очень много разноплановых задач, то смотрим в сторону ОС. Например, quarqTS. Очень лёгкая, платформонезависимая ОС, в которую я влюбился с первого взгляда))) И никаких if, таймеров и прочей мути.
parovoZZ вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 08:06   #23
Владимир 013
Частый гость
 
Регистрация: 07.11.2019
Сообщений: 15
Сказал спасибо: 6
Сказали Спасибо 1 раз в 1 сообщении
Владимир 013 на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

1 мне на забугорныйе форумы НАС-РАТЬ !!!!
2 я только начал изучать Ардуино и мне можно задавать любые вопросы !
3 ты несешь всякую куйню не по теме !
4 если ты слишком продвинутый как писали выше то лучше молчи , не раскрывай свою хлеборезку если сказать нечего !
Владимир 013 вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 08:18   #24
NewWriter
Заблокирован
 
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
NewWriter на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Декрементные таймеры работают в прерывании системного таймера и просто уменьшают на единицу все счетчики, у которых значение ›0, с периодом в один системный тик. Когда значение счетчика станет = 0, выставляется флаг окончания счета, а счетчик, если он циклический, может быть перезапущен снова со стартового значения и снова уменьшаться до 0.

Сообщение от Владимир 013 Посмотреть сообщение
о истечении 50 суток обнулиться счетчик
После обнуления системного счетчика произойдет сбой ваших вычислений.
Например, (3960 - 3900 = 60) это нормально. А (10 - 3960) уже не нормально.
Поэтому, раз в 50 суток у вас будут происходить сбои интервалов.
NewWriter вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 12:51   #25
OKF
Прописка
 
Регистрация: 17.11.2009
Сообщений: 132
Сказал спасибо: 15
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
OKF на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

NewWriter, да всё нормально будет. Сами посчитайте для uint. Так как вы только начинающие думают.) Хотя бывает, если раньше с этим никогда не сталкивались).
OKF вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 14:06   #26
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от NewWriter Посмотреть сообщение
А (10 - 3960) уже не нормально.
первая же ссылка в яндексе
http://arduino.ru/forum/programmirov...olnenie-millis
parovoZZ вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 14:09   #27
parovoZZ
Почётный гражданин KAZUS.RU
 
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от Владимир 013 Посмотреть сообщение
я только начал изучать Ардуино
меня на изучении дурины хватило на 2 недели, пока не понял, что это какая-то шляпа для школьников. Ещё больше удручает факт, что дурину преподают в ВУЗ-ах. Бежать из таких ВУЗ-ов без оглядки.
parovoZZ вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 14:39   #28
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,045
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от OKF Посмотреть сообщение
Сами посчитайте для uint
Пример - текущее значение таймера 0xfffffff0 - (шел 49й день).
Сохраняем это значение в переменной. Ждем когда таймер еще посчитает 1000 раз (новое ожидаемое значение таймера будет 0xfffffff0 + 1000 = 991 - это число которое будет занимать младшие 32 разряда после переполнения.

А у таймера через 1000 тиков будет 1000-16 = 984.

Таймер работает модулярно - при наступлении переполнения обнуляется, а при наступлении переполнения в переменной, она просто теряет старший бит ( но при этом не обнуляется)
dgrishin вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 14:48   #29
baiderin
Почётный гражданин KAZUS.RU
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,731
Сказал спасибо: 2,441
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от dgrishin Посмотреть сообщение
при наступлении переполнения в переменной, она просто теряет старший бит ( но при этом не обнуляется)
И какое значение в ней остается?
baiderin вне форума   Ответить с цитированием
Непрочитано 18.11.2020, 15:00   #30
dgrishin
Почётный гражданин KAZUS.RU
 
Регистрация: 12.02.2013
Сообщений: 1,045
Сказал спасибо: 43
Сказали Спасибо 273 раз(а) в 214 сообщении(ях)
dgrishin на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от baiderin Посмотреть сообщение
И какое значение в ней остается?
Сорри, проверил еще раз - все правильно работает. Слишком поверил калькулятору, хотя если разделить число на 2 части - число необходимое для переполнения + что осталось то как раз получается тоже модулярное вычисление. 984=984. Усе сходится.
dgrishin вне форума   Ответить с цитированием
Ответ

Закладки


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблемы с ардуино уно begun Делимся опытом 1 24.05.2017 13:37
Быстро проверить исправность Ардуино. 123ksn AVR 9 25.11.2014 11:54
"Шахматный" таймер на ATmega 8515 Bahmut_aiirsoft Песочница (вопросы новичков) 14 17.11.2013 14:14
Сторожевой таймер в ATtiny25/45/85 mike124 Proteus 11 30.10.2012 11:19
таймер и симуляция в MPLAB Sim lisergin Микроконтроллеры, АЦП, память и т.д 0 16.01.2006 15:35


Часовой пояс GMT +4, время: 16:40.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot