#26 2019-09-14 19:55:20

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Alexs пише:

Даже если точность +- минута, меня всё-равно устраивает

не, ну если плюс-минус полвершка - нормально, то можно и гайвером пользоваться, я не возражаю.

Остання редакція Kaka (2019-09-14 19:55:41)

Неактивний

#27 2019-09-14 22:45:02

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Тут другое дело может ли быть переполнение, что может произойти, насколько критично.


Watchdog пише:
Avazart пише:

Странная статья и код, так и не сказано откуда взято такое заключение.

Это может показаться, для вас, странным но некоторые люди умеют соображать сами. lol

А еще читать чужие мысли ... а есть еще Божий промысел и НЛО.  big_smile

Шутки шуточками, но обработчик прерывания не стоит так нагружать.

Остання редакція Avazart (2019-09-14 22:48:04)

Неактивний

#28 2019-09-15 09:12:00

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

Шутки шуточками, но обработчик прерывания не стоит так нагружать.

Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".

#29 2019-09-15 11:21:33

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

Странная статья и код, так и не сказано откуда взято такое заключение.


Можно писать более человеко-читаемо:

typedef unsigned long ulong;

const ulong period_1= 24*60*60*1000UL; // 24 часа

Можно.

Только лучше писать, заодно, и правильно.

Чтобы компилятор не сыпал предупреждениями и генерировал константу 86400000, как ожидается, а не 20864000, как он делает с этим кодом.

Впрочем, это, наверное, тоже придирка, как к гиверу. Со стайлом то ту всё нормально smile

Остання редакція Kaka (2019-09-15 12:00:57)

Неактивний

#30 2019-09-15 11:48:18

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Да действительно UL стот ставить сразу первому множителю, потому как 24*60*60 уже не вмещается в int

const ulong period_1= 24UL*60*60*1000; // 24 часа

А если идет речь о минутах то возможно вывести в отдельную константу.

Остання редакція Avazart (2019-09-15 11:50:40)

Неактивний

#31 2019-09-15 12:08:41

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

А если идет речь о минутах то возможно вывести в отдельную константу.

Если уж говорить о стайле, то секунды, минуты, часы и т.д. лучше определять одно через другое, а не всё в лоб.

Неактивний

#32 2019-09-15 12:12:35

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Я про это и говорю.

Неактивний

#33 2019-09-15 12:13:26

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Можно ещё самодельные литералы ввести (как здесь ) и потом писать 20_s или там 1_m

Неактивний

#34 2019-09-15 13:51:00

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Да в С++11 + есть занятные штуки.
Только префиксные подчеркивания не стоит использовать.

Остання редакція Avazart (2019-09-15 13:52:28)

Неактивний

#35 2019-09-15 15:48:26

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Это кому как.

Неактивний

#36 2019-09-15 18:55:34

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Это не кому как это правило хорошего тона.

Неактивний

#37 2019-09-15 19:03:00

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Watchdog пише:
Avazart пише:

Шутки шуточками, но обработчик прерывания не стоит так нагружать.

Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".

Как говорится: "сам себе злобный буратино"  big_smile

Остання редакція Avazart (2019-09-15 19:03:19)

Неактивний

#38 2019-09-15 19:11:42

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:
Watchdog пише:
Avazart пише:

Шутки шуточками, но обработчик прерывания не стоит так нагружать.

Да. Для плоской модели прерываний, такая загрузка может привести к отказам других обработчиков, например системных часов millis(). Но как говорится: "хозяин - барин".

Как говорится: "сам себе злобный буратино"  big_smile

В стране буратин.  lol

#39 2019-09-15 19:36:16

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

Это не кому как это правило хорошего тона.

Да, нет, это как раз "кому как". В одних местах тон такой, а в других - эдакий.

Остання редакція Kaka (2019-09-15 19:36:40)

Неактивний

#40 2019-09-15 20:44:21

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Есть четкое обоснование - имена начинающиеся с _ зарезервированы.

Остання редакція Avazart (2019-09-15 20:45:25)

Неактивний

#41 2019-09-15 21:02:35

Kaka
Учасник
Зареєстрований: 2018-03-21
Повідомлень: 388

Re: Как подключить 2 реле и задать им разное время включения?

Так именно поэтому при разработке системных вещей они и используются.

Давай прекратим, ладно. А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат. Давай не будем.

Неактивний

#42 2019-09-15 21:26:31

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Kaka пише:

Так именно поэтому при разработке системных вещей они и используются.

Давай прекратим, ладно. А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат. Давай не будем.


Хорош сливаться, это как раз по детски, где Вы тут увидели "системные вещи" в пользовательском коде ?
Ваше превосходство разработчик компиляторов?  big_smile


А то как-то попытки учить меня от человека только сегодня выложившего код с детской ошибкой немного смешат

Это все равно что я сейчас буду говорить что мой код на самом деле не содержит ошибок просто он для 32 битного контроллера.

Остання редакція Avazart (2019-09-15 21:32:18)

Неактивний

#43 2019-09-15 21:46:23

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

С подчеркивания начинаются не зарерервированные слова. Зарезервированных слов всего 44. Это соглашение именования POSIX, для системных функций. В вашем крошечном проекте вы можете писать как угодно, лишь бы не было конфликта с библиотечными функциями и с 10-тью зарезервированными словами, имеющими этот префикс.

#44 2019-09-15 21:56:14

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Напомните какой компилятор в Arduino используется? И насколько он близок к POSIX?

Но думаю те кто пишут под Windows знают про разные там макросы типа _L, _T и _TEXT и прочие.
Не говоря уже о двойных подчеркиваниях __cdecl  итд.

Остання редакція Avazart (2019-09-15 22:02:29)

Неактивний

#45 2019-09-15 22:05:52

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

Напомните какой компилятор в Arduino используется? И насколько он близок к POSIX?

https://gcc.gnu.org/

#46 2019-09-15 22:17:15

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Это был риторический вопрос   smile

Неактивний

#47 2019-09-15 22:19:39

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Watchdog пише:

С подчеркивания начинаются не зарерервированные слова. Зарезервированных слов всего 44. Это соглашение именования POSIX, для системных функций. В вашем крошечном проекте вы можете писать как угодно, лишь бы не было конфликта с библиотечными функциями и с 10-тью зарезервированными словами, имеющими этот префикс.

Тут нормально вроде расписано: Ccылка на stackoverflow

Остання редакція Avazart (2019-09-15 22:21:17)

Неактивний

#48 2019-09-15 22:52:10

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

Всё верно, но это не зарезервированные слова (reserved keywords). А к идентификаторам подход, такой как я написал, как к объектам библиотеки. Т.е. это соглашение именования. Никто вам не запрещает их переопределить.

#49 2019-09-15 23:01:20

Avazart
Учасник
Зареєстрований: 2019-05-05
Повідомлень: 181

Re: Как подключить 2 реле и задать им разное время включения?

Хочу заметить что и не говорил что это зарезервированные слова.
Изначально речь шла про именование.

Никто вам не запрещает их переопределить.

Как и выстрелить себе случайно в голову.
Правила хорошего тона нужны что бы избегать таких ситуаций.

Остання редакція Avazart (2019-09-15 23:05:29)

Неактивний

#50 2019-09-15 23:17:35

Watchdog
Гість

Re: Как подключить 2 реле и задать им разное время включения?

Avazart пише:

Хочу заметить что и не говорил что это зарезервированные слова.
Изначально речь шла про именование.

Никто вам не запрещает их переопределить.

Как и выстрелить себе случайно в голову.
Правила хорошего тона нужны что бы избегать таких ситуаций.

Забудьте моё имя и делайте, что хотите. Только осторожно стреляйте, чтобы наверняка, и не срикошетило. Удачи.

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму