18.11.2020, 15:20
|
|
Гражданин KAZUS.RU
Регистрация: 17.06.2008
Адрес: Украина
Сообщений: 731
Сказал спасибо: 363
Сказали Спасибо 807 раз(а) в 379 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от parovoZZ
|
Просто надо помнить: всегда стартовое значение вычитать из millis и никак не наоборот
|
Совершенно верно - стартовое значение вычитать из текущего, и никаких ошибок при сравнении беззнаковых величин одинаковой разрядности после переполнения системного таймера не возникает. Если не проспать второй "круг" системного таймера, конечно.
ИМХО более удобен подход с периодическим декрементом ненулевых счетчиков.
Работает на любых платформах, от 8-битных и до 1024-битных и даже ширше. Или ширее
Последний раз редактировалось j-Roger; 18.11.2020 в 15:32.
|
|
|
|
18.11.2020, 15:20
|
|
Прописка
Регистрация: 17.03.2015
Сообщений: 296
Сказал спасибо: 0
Сказали Спасибо 220 раз(а) в 126 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от parovoZZ
|
меня на изучении дурины хватило на 2 недели, пока не понял, что это какая-то шляпа для школьников.
|
Да, экосистема Arduino слишком ограничена в возможностях, но имеет очень низкий порог вхождения, т.к. имеется масса описаний/уроков/примеров. Поэтому и привлекательна для новичков.
Сообщение от NewWriter
|
работают в прерывании системного таймера
|
Во-во! Как и предполагалось, этим все и должно было закончиться.
Сообщение от NewWriter
|
Тут вообще всё иначе делается.
|
Вот здесь, полностью соглашусь с "пупер продвинутым" NewWriter
ТС'у: Если захотите использовать прерывания, то Аппаратные прерывания в Arduino, Прерывания по таймеру в Arduino, Arduino и прерывания таймера. Но это будет уже не чистый Arduino - могут начаться проблемы со стандартными временными функциями Arduino.
Поэтому, учитывая начальный этап освоения MCU, изначальное решение (использование millis), на мой взгляд, было самое правильное - только нужно его привести в работоспособный вид (в этой ветке уже приводились и ссылки, и код).
P.S. Послесловие для "продвинутых".
Я защищаю, не Arduino, которая убогая/для школьников/..., и которую, собственно, и сам не знаю.
Я защищаю нового пользователя, впервые соприкоснувшегося с миром микроконтроллеров.
Поэтому, "мальчики, хватит ругаться (с)". Если есть что сказать по сути вопроса - говорите, а если
Сообщение от NewWriter
|
Я не разбирал творения топикстартера, поскольку незачем его разбирать.
|
то лучше "промолчать в тряпочку".
|
|
|
|
18.11.2020, 16:25
|
|
Почётный гражданин KAZUS.RU
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от ProtAS-13
|
имеет очень низкий порог вхождения, т.к. имеется масса описаний/уроков/примеров.
|
Чтобы войти в AVR, достаточно одной книги Евстифеева и каких-то примеров с сайта Атмела/Микрочипа. При этом творчество начинается с первых же дней. Ардуино - это слепое копирование так называемых скетчей ("эскизов") без вникания в суть происходящего.
Есть ещё более простая штука, чем ардуина
https://start.atmel.com/
тупо тыкаешь мышкой и всё.
|
|
|
|
18.11.2020, 17:24
|
|
Почётный гражданин KAZUS.RU
Регистрация: 10.12.2007
Адрес: Екатеринбург
Сообщений: 2,731
Сказал спасибо: 2,441
Сказали Спасибо 893 раз(а) в 580 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от parovoZZ
|
ещё более простая штука, чем ардуина
|
Для тех,кто язык знает.
|
|
|
|
18.11.2020, 18:17
|
|
Почётный гражданин KAZUS.RU
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от baiderin
|
Для тех,кто язык знает.
|
любое программирование для тех, кто знает язык, но прежде всего, должен грамотно составлять алгоритмы.
|
|
|
|
18.11.2020, 18:57
|
|
Заблокирован
Регистрация: 07.09.2014
Адрес: В Кремле!
Сообщений: 4,486
Сказал спасибо: 396
Сказали Спасибо 2,220 раз(а) в 1,319 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Судя по постам, ProtAS-13 очень хорошо разбирается в Ардуине )) Ну чтож, это как раз его уровень! Похвально, Протас, похвально - Ардуина для тебя в самый раз, ты показываешь хорошие познания в ней
А защищать тут никого не нужно - тут не бандитские разборки. Протас, ты чота попутал малость
Последний раз редактировалось NewWriter; 18.11.2020 в 19:00.
|
|
|
|
19.11.2020, 01:33
|
|
Прописка
Регистрация: 17.03.2015
Сообщений: 296
Сказал спасибо: 0
Сказали Спасибо 220 раз(а) в 126 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от NewWriter
|
Судя по постам, ProtAS-13 очень хорошо разбирается в Ардуине
|
Мне хватило часа, чтобы понять достоинства и недостатки Arduino. Кстати, как и Ваши понты.
Вам же не хватило и пару дней.
Видимо, даже Arduino для Вас недостижимый уровень. Камрад! Это полное дно!!!
А т.к. стыдно назвать себя полным идиотом, то и придумали маскирующее словечко - "продвинутый".
Да к тому же еще и весь форум этим словечком обмазали.
А защищать от бездарей - это долг каждого порядочного человека.
Рад, что Вы оценили мои усилия - я и дальше буду стараться.
|
|
|
|
19.11.2020, 11:21
|
|
Прописка
Регистрация: 17.11.2009
Сообщений: 132
Сказал спасибо: 15
Сказали Спасибо 30 раз(а) в 16 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Ардуино это С++, а он считается одним из самых сложных языков, между прочим. Не думаю что тут многие в нём хорошо разбираются. Плюс удобный фреймворк, которым вас никто не заставляет пользоваться. Плюс куча библиотек для всего. И всё открыто! Вклад Ардуино в популяризацию МК (и не только) огромный.
|
|
|
|
19.11.2020, 11:53
|
|
Почётный гражданин KAZUS.RU
Регистрация: 15.11.2010
Сообщений: 2,379
Сказал спасибо: 338
Сказали Спасибо 328 раз(а) в 253 сообщении(ях)
|
Re: многозадачный таймер на millis для Ардуино
Сообщение от OKF
|
И всё открыто!
|
У остальных тоже всё открыто.
Сообщение от OKF
|
Плюс удобный фреймворк
|
Он не удобный. Он убогий.
Сообщение от OKF
|
Плюс куча библиотек для всего.
|
Криво написанные (лишь бы работало), абсолютно не совместимые между собой и не переносимые между версиями фреймворка.
Сообщение от OKF
|
Вклад Ардуино в популяризацию МК (и не только) огромный.
|
Откуда инфа и зачем МК популяризировать?
Сообщение от OKF
|
Ардуино это С++
|
Он полностью совместим с Си.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 18:18.
|
|