Пытаюсь посмотреть, что передается между частями охранного оборудования. Логический ноль низкий, около вольта.
С помощью arduino я повышаю и инвертирую логику и подаю на Tx порта rs232. Логический ноль 0В, единица 5В.
После того, как оборудование начинает передавать небольшой пакетик данных, Serial Port Monitor пишет какую-то фигню в лог, при чем даже при физическом отключении проводов от разъема COM порта. Что происходит и как это исправить?
Для начала:
1. На Tx ничего не подается, оттуда обычно информация выходит.
2. Информация подается на Rx.
3. Физически отключенный Rx имеет высокий импеданс и может ловить все что угодно. В частности погоду на экваторе.
Если сделан разъем DB9, то и преобразователь уровней там тоже стоит.
А ноль у него не 0, а минус 10В.
Не спорю, что некоторые и так работают, но не все, ибо не по стандарту это.
Сможет не всегда. Так точнее.
Наличие всяких компортовых штук типа JDM программатора, или WinLirc пультов, подразумевает, что передавать возможно, но с преобразователем уровня работает намного лучше.
Ну ардуино в общем случае и есть тот самый переходник USB-RS232 TTL.
Приставка TTL говорит о том, что преобразователь уровней не нужен и высокий там это +5, а низкий это 0.
То есть нужно подключаться непосредственно к Tx на ардуино(для компьютера это будет Rx)… ну, в общем разберетесь. Всего два варианта.
Для правильной работы в скетче нужно сделать вывод Tx просто цифровым ВХОДОМ.
Попробую описать полученное впечатление:
Вы подключаете свое железо к переходнику USB-to-RS232, и оно мусорит каракулями, но когда вы физически отключаете свое железо от переходника, оно продолжает мусорить.
Вы подключаете свое железо к физически другому переходнику USB-to-RS232, оно так же мусорит, и так же продолжает мусорить при отключении.
Может вам стоит попробовать на другом компьютере? Хотя это вряд ли поможет…
Осциллограф, даже самый простой, не помешал бы, ей богу.