ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
2 мая
657525 Топик полностью
VVB (03.03.2016 11:43, просмотров: 283) ответил 3m на Неизвестно какая в точности корка была использована. Если вам известны грабли открытого - посоветуйте как их выявить в A20.
Про грабли при активной передаче со стороны A20 пусть один из клиентов переведёт свой контакт CANTX в режим GPIO и подаст туда "0" в течение, допустим, одной секунды, а затем снова в "1". Это приведёт к помехе на шине CAN в течение этой самой одной секунды и возникновению BUSOFF в SJA1000T. А потом попробуйте восстановить нормальную передачу в A20 следуя документации в SJA1000T, у меня не получалось -- контроллер CAN вставал враскорячку и не выходил из режима инициализации, в который он автоматически переходит при BUSOFF. Тут ещё особенность: драйвер дифференциальной пары CAN должен честно транслировать логические уровни в дифференциальные, а то шибко умные драйверы после некоторого времени вместо доминантного уровня сами начнут транслировать рецессивный, хотя их никто не просит (это так они пытаются исключить сбойный узел из шины CAN). Насчёт 400+ строк. Я имел в виду рефакторинг и писание множества коротких функций с хорошими названиями, вместо комментариев и огромной функции, которая целиком не умещается в голове.