Леонид писал(а):
можно передать символ "я" (FF в шестнадцатеричном коде), порт вместо 8 единиц передаст 8 нулей, хотя и не 11описание в протоколе гласит что длина поля BREAK должна быть от 13 нулевых бит до 30.
13 нулевых бит это минимум. Да, тут кроме как аппаратно понижать уровень сигнала.
tig-rrr писал(а):
через DTR com Porta.после совета Леонида разве что аппаратно
я тоже об этом способе подумал, но не успел реализовать, времени не было. А сейчас зашел на форум и увидел ваш способ, значит так и будет! Буду пробовать.
Вот тут меня подтолкнули на мысль использовать DTR
https://www.radioradar.net/repair_electronic_technics/autoelectronic_repair/using_local_lin_car.html
Описание Осцилограммы
Заголовок состоит из четырех частей:
- пауза в синхронизации;
- окончание синхронизации;
- поле синхронизации;
- поле идентификатора.
Опишем каждую из них.
Пауза в синхронизации (synch break)
Представляет собой не менее 13-ти битов, пересылаемых доминантным уровнем, что в вычислительной технике расценивается как передача не менее 13-ти "нулей". Блоки LIN Slave имеют возможность настроиться на прием телеграммы, ибо в тексте самой телеграммы не может быть подобной информации и столь долгая передача только доминантного уровня подсказывает блокам, что после этого поля последуют другие.
Окончание синхронизации (synch delimiter)
Эта часть передается рецессивным уровнем (около 12 В), что соответствует передаче "единицы" и сообщает блокам LIN Slave о том, что пауза закончилась и необходимо приготовиться к синхронизации.
Поле синхронизации (synch field)
Эта часть заголовка служит для непосредственной настройки блоков LIN Slave на работу с блоком управления LIN Master. Поле состоит из последовательности доминантных и рецессивных битов, то есть последовательности "нулей" и "единиц". Таким образом синхронизируется частота, на которой блоки LIN Slave должны работать по шине LIN, принять поле идентификатора и последующие за ним данные.
Поле идентификатора
Это поле состоит из восьми бит. В первых 6-ти битах передаются адрес блока LIN Slave для его опознавания (идентификации) и количество полей для передачи данных, отведенных для ответа (от 0 до 8). Два оставшихся бита предназначены для передачи контрольной суммы. Контрольная сумма вычисляется согласно определенному алгоритму и необходима для того, чтобы избежать ошибок в передаче. При совпадении контрольной суммы оборудование считает что информация передана корректно.