Ви не увійшли.
Даже если точность +- минута, меня всё-равно устраивает
не, ну если плюс-минус полвершка - нормально, то можно и гайвером пользоваться, я не возражаю.
Остання редакція Kaka (2019-09-14 19:55:41)
Неактивний
Тут другое дело может ли быть переполнение, что может произойти, насколько критично.
Avazart пише:Странная статья и код, так и не сказано откуда взято такое заключение.
Это может показаться, для вас, странным но некоторые люди умеют соображать сами.
А еще читать чужие мысли ... а есть еще Божий промысел и НЛО.
Шутки шуточками, но обработчик прерывания не стоит так нагружать.
Остання редакція Avazart (2019-09-14 22:48:04)
Неактивний
Шутки шуточками, но обработчик прерывания не стоит так нагружать.
Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".
Странная статья и код, так и не сказано откуда взято такое заключение.
Можно писать более человеко-читаемо:
typedef unsigned long ulong; const ulong period_1= 24*60*60*1000UL; // 24 часа
Можно.
Только лучше писать, заодно, и правильно.
Чтобы компилятор не сыпал предупреждениями и генерировал константу 86400000, как ожидается, а не 20864000, как он делает с этим кодом.
Впрочем, это, наверное, тоже придирка, как к гиверу. Со стайлом то ту всё нормально
Остання редакція Kaka (2019-09-15 12:00:57)
Неактивний
Да действительно UL стот ставить сразу первому множителю, потому как 24*60*60 уже не вмещается в int
const ulong period_1= 24UL*60*60*1000; // 24 часа
А если идет речь о минутах то возможно вывести в отдельную константу.
Остання редакція Avazart (2019-09-15 11:50:40)
Неактивний
А если идет речь о минутах то возможно вывести в отдельную константу.
Если уж говорить о стайле, то секунды, минуты, часы и т.д. лучше определять одно через другое, а не всё в лоб.
Неактивний
Avazart пише:Шутки шуточками, но обработчик прерывания не стоит так нагружать.
Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".
Как говорится: "сам себе злобный буратино"
Остання редакція Avazart (2019-09-15 19:03:19)
Неактивний
Watchdog пише:Avazart пише:Шутки шуточками, но обработчик прерывания не стоит так нагружать.
Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".
Как говорится: "сам себе злобный буратино"
В стране буратин.
Это не кому как это правило хорошего тона.
Да, нет, это как раз "кому как". В одних местах тон такой, а в других - эдакий.
Остання редакція Kaka (2019-09-15 19:36:40)
Неактивний
Так именно поэтому при разработке системных вещей они и используются.
Давай прекратим, ладно. А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат. Давай не будем.
Неактивний
Так именно поэтому при разработке системных вещей они и используются.
Давай прекратим, ладно. А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат. Давай не будем.
Хорош сливаться, это как раз по детски, где Вы тут увидели "системные вещи" в пользовательском коде ?
Ваше превосходство разработчик компиляторов?
А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат
Это все равно что я сейчас буду говорить что мой код на самом деле не содержит ошибок просто он для 32 битного контроллера.
Остання редакція Avazart (2019-09-15 21:32:18)
Неактивний
С подчеркивания начинаются не зарерервированные слова. Зарезервированных слов всего 44. Это соглашение именования POSIX, для системных функций. В вашем крошечном проекте вы можете писать как угодно, лишь бы не было конфликта с библиотечными функциями и с 10-тью зарезервированными словами, имеющими этот префикс.
Напомните какой компилятор в Arduino используется? И насколько он близок к POSIX?
Но думаю те кто пишут под Windows знают про разные там макросы типа _L, _T и _TEXT и прочие.
Не говоря уже о двойных подчеркиваниях __cdecl итд.
Остання редакція Avazart (2019-09-15 22:02:29)
Неактивний
Напомните какой компилятор в Arduino используется? И насколько он близок к POSIX?
https://gcc.gnu.org/
С подчеркивания начинаются не зарерервированные слова. Зарезервированных слов всего 44. Это соглашение именования POSIX, для системных функций. В вашем крошечном проекте вы можете писать как угодно, лишь бы не было конфликта с библиотечными функциями и с 10-тью зарезервированными словами, имеющими этот префикс.
Тут нормально вроде расписано: Ccылка на stackoverflow
Остання редакція Avazart (2019-09-15 22:21:17)
Неактивний
Всё верно, но это не зарезервированные слова (reserved keywords). А к идентификаторам подход, такой как я написал, как к объектам библиотеки. Т.е. это соглашение именования. Никто вам не запрещает их переопределить.
Хочу заметить что и не говорил что это зарезервированные слова.
Изначально речь шла про именование.
Никто вам не запрещает их переопределить.
Как и выстрелить себе случайно в голову.
Правила хорошего тона нужны что бы избегать таких ситуаций.
Остання редакція Avazart (2019-09-15 23:05:29)
Неактивний
Хочу заметить что и не говорил что это зарезервированные слова.
Изначально речь шла про именование.Никто вам не запрещает их переопределить.
Как и выстрелить себе случайно в голову.
Правила хорошего тона нужны что бы избегать таких ситуаций.
Забудьте моё имя и делайте, что хотите. Только осторожно стреляйте, чтобы наверняка, и не срикошетило. Удачи.