![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
demon051 |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 27 Регистрация: 12.8.2014 Пользователь №: 4209 Спасибо сказали: 4 раз(а) Репутация: ![]() ![]() ![]() |
Всем привет! Всех с НГ.
Вопросик такой. Есть код обмена по шине CAN.
Всё это работает. Но не получается отследить ситуацию КЗ на шине. Т.е. замыкаем, а никаких ошибок и исключений не вылазит... Выскочить из внутреннего цикла во внешний не получается. Кто-нить знает, должна ли вылезать ошибка в if (FD_ISSET(ss[0], &error_fs)) ? Понятно что можно накрутить проверку что если какое-то колво раз не выбран ни один дескриптор, то это значит, что что-то не в порядке. Но это частная ситуация, когда ты уверен что обмен идет не прерываясь и запросы по кан гуляют постоянно. А если кан тупо простаивает без регулярного обмена, то как отмониторить КЗ? |
|
|
Iron Bug |
![]()
Сообщение
#2
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Модератор Сообщений: 1611 Регистрация: 6.2.2009 Из: Yekaterinburg Пользователь №: 533 Спасибо сказали: 219 раз(а) Репутация: ![]() ![]() ![]() |
https://stackoverflow.com/questions/2315703...d-can-low-short
это в идеальном варианте. как будет вести себя конкретный контроллер - это ещё надо проверять. |
|
|
Litkevich Yuriy |
![]()
Сообщение
#3
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Но не получается отследить ситуацию КЗ на шине. Т.е. замыкаем, а никаких ошибок и исключений не вылазит... В CAN-bus короткое замыкание на шине - доминантное состояние, т.е. рабочее состояние. Поэтому класического решения НЕТ.Надо смотреть на длительность доминантного состояния, подавляющее большинство микросхем "CAN-контроллеров" сами определяют превышение времени доминантного состояния. |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 18:04 |