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

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

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

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

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

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


 
Опции темы

многозадачный таймер на millis для Ардуино

Непрочитано 18.11.2020, 00:17  
Владимир 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  
parovoZZ
Почётный гражданин KAZUS.RUN
 
Регистрация: 15.11.2010
Сообщений: 2,376
Сказал спасибо: 337
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
parovoZZ на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

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

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

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

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

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

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

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

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

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

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

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

Таймер работает модулярно - при наступлении переполнения обнуляется, а при наступлении переполнения в переменной, она просто теряет старший бит ( но при этом не обнуляется)
dgrishin вне форума  
Непрочитано 18.11.2020, 14:48  
baiderin
Почётный гражданин KAZUS.RUN
 
Аватар для baiderin
 
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,739
Сказал спасибо: 2,487
Сказали Спасибо 897 раз(а) в 584 сообщении(ях)
baiderin на пути к лучшему
По умолчанию Re: многозадачный таймер на millis для Ардуино

Сообщение от dgrishin Посмотреть сообщение
при наступлении переполнения в переменной, она просто теряет старший бит ( но при этом не обнуляется)
И какое значение в ней остается?
baiderin вне форума  
Непрочитано 18.11.2020, 15:00  
dgrishin
Почётный гражданин KAZUS.RUN
 
Регистрация: 12.02.2013
Адрес: На болотах
Сообщений: 1,162
Сказал спасибо: 46
Сказали Спасибо 315 раз(а) в 244 сообщении(ях)
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, время: 20:52.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.