-
- в случае с CAN наверное не нужно было придумывать таймауты на получение ответа? Я имею в виду, что в CAN нет такого понятия как "запрос-ответ". А если бы это было нужно. Например: вы посылаете пакет по CAN какому0то устройству и ожидаете, что оно bialix(183 знак., 06.07.2012 17:36)
- У меня система с резервированием :(. Я должен быть уверен, что все абоненты CAN-сети живы, т.е. отчитались за положенное время. Если нет, то в работу вводится резерв. Выходные каскады умерших будут блокированы в обход CAN-а. - Chum_A(08.07.2012 20:14 - 20:24)
- Ну как обрабатывать, запускается подпрограмма проверки таймера, не вышло - выход. Вышло, ставится флаг, ну а дальше ваши действия. У AVR это флаг T регистра SREG. - mazur(06.07.2012 17:47)
- Почему именно T? Он чем-то особенный? - Apтём(06.07.2012 18:16)
- Потому что это пользовательский флаг. - mazur(06.07.2012 18:36)
- наверное тем, что слово timeout и регистр T начинаются с одной буквы? - bialix(06.07.2012 18:23)
- Нет никакой связи между timeout и t. У меня многие функции используют этот флаг. Очень удобно. - mazur(06.07.2012 19:41)
- Зачем такое? Какое тут удобство?Почему не возвращать результат функции через регистр? - Apтём(06.07.2012 20:06)
- "результат функции через регистр" - шаблон. Зачем мне результат в регистре, если он бинарный? Да\нет. Только регистры зря трогать. - mazur(06.07.2012 20:09)
- А может не "шаблон", а устаявшееся, проверенное решение? Проверяли производительность/экономию? Apтём(63 знак., 06.07.2012 20:27)
- Ваши вопросы указывают, что вы видимо не в курсе - mazur на ASM пишет, Си он пока еще не в силах освоить :) - rezident(06.07.2012 20:38)
- Я как-то думал что mazur начал осваивать(были такие сообщения), видать не освоил ещё. - Apтём(06.07.2012 21:33)
- Бывает такое: купил абонемент в спортзал (вот польза-то!), а ходить не стал. - SciFi(06.07.2012 22:13)
- Понятно :) - Apтём(06.07.2012 22:15)
- Бывает такое: купил абонемент в спортзал (вот польза-то!), а ходить не стал. - SciFi(06.07.2012 22:13)
- Кстати, это интересно, сколько асмов? AVR был, есть ли ещё? SciFi(36 знак., 06.07.2012 20:40)
- Я как-то думал что mazur начал осваивать(были такие сообщения), видать не освоил ещё. - Apтём(06.07.2012 21:33)
- Для AVR, если результат нужен бинарный, здесь и сейчас, я использую флаг T. - mazur(06.07.2012 20:30)
- Вы тут новенький, очевидно :-) - SciFi(06.07.2012 20:29)
- Вы правы, чтойто я? :) Apтём(47 знак., 06.07.2012 20:37)
- Ничего зазорного, просто скучно читать одно и то же сотый раз :-) - SciFi(06.07.2012 20:39)
- Вы правы, чтойто я? :) Apтём(47 знак., 06.07.2012 20:37)
- Ваши вопросы указывают, что вы видимо не в курсе - mazur на ASM пишет, Си он пока еще не в силах освоить :) - rezident(06.07.2012 20:38)
- А может не "шаблон", а устаявшееся, проверенное решение? Проверяли производительность/экономию? Apтём(63 знак., 06.07.2012 20:27)
- "результат функции через регистр" - шаблон. Зачем мне результат в регистре, если он бинарный? Да\нет. Только регистры зря трогать. - mazur(06.07.2012 20:09)
- Зачем такое? Какое тут удобство?Почему не возвращать результат функции через регистр? - Apтём(06.07.2012 20:06)
- >>наверное тем, что слово timeout и регистр T начинаются с одной буквы? Apтём(52 знак., 06.07.2012 18:49)
- Нет никакой связи между timeout и t. У меня многие функции используют этот флаг. Очень удобно. - mazur(06.07.2012 19:41)
- Почему именно T? Он чем-то особенный? - Apтём(06.07.2012 18:16)
- Вот-вот! Ответ прямо в точку! Последний абзац -- суть квинтэссенция того, что пытался донести в своем длинном посте. bialix(460 знак., 06.07.2012 16:44)
- Это и есть event driven программирование. Таймер, да, может быть один на всю программу, но нужен механизм получения события, с последующим запуском функции, при достижении таймером заданного значения. Обернуть в одну функцию -- а зачем? Только за fk0(182 знак., 06.07.2012 11:17)
- Завернуть все в одну функцию хочется (мне как минимум) потому что хочется избежать разрыва контекста между функцией запускающей выполнение операции и колбэком по заверешению операции. При использовании автоматов ровно точно такой же разрыв bialix(67 знак., 06.07.2012 16:50)
- Дык Chum_A(723 знак., 06.07.2012 11:33)
- Всё так. Всё точно так. +1111111многораз - bialix(06.07.2012 16:52)
- все эти таймеры легко вырождаются в один free-running - Vit(06.07.2012 10:10)
- По сути это он и есть, только в извращённом виде. Но разговор-то не за таймеры, а за красивую обёртку для всех и вся и "со шлюхами" :). - Chum_A(06.07.2012 10:52)
- да. именно. - bialix(06.07.2012 16:52)
- По сути это он и есть, только в извращённом виде. Но разговор-то не за таймеры, а за красивую обёртку для всех и вся и "со шлюхами" :). - Chum_A(06.07.2012 10:52)
- в случае с CAN наверное не нужно было придумывать таймауты на получение ответа? Я имею в виду, что в CAN нет такого понятия как "запрос-ответ". А если бы это было нужно. Например: вы посылаете пакет по CAN какому0то устройству и ожидаете, что оно bialix(183 знак., 06.07.2012 17:36)