Инвертирование данных эхолота с помощью Arduino UNO в режиме UART-USB

MDA
Offline
Зарегистрирован: 27.05.2019

Здравствуйте, хочу считывать с эхолота данные глубины и записывать их на карту памяти.
Сделал из ардуино программный преобразователь:
https://wiki.iarduino.ru/page/Arduino_as_a_USB_UART_converter/
Подключил к ардуино выход NMEA эхолота Humminbird Matrix 47:
http://forum.motolodka.ru/read.php?f=1&i=569310&t=569310
На ПК запустил монитор com порта и шли иероглифы.
После по совету между эхолотом и ардуино спаял инвертор на кт815 и двух резисторах.
Данные пошли верные.
Вопрос. Можно ли както инвертировать данные программно??

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Если использовать хардварный сериал - то нет.
У вас инвертированы не только "биты" даннных
но и стартовый "бит".

MDA
Offline
Зарегистрирован: 27.05.2019

У меня программное преобразование.
Можно как то сделать инверсию в этом случае?

#include // Подключаем библиотеку SoftwareSerial для общения с модулем по программной шине UART
SoftwareSerial softSerial(2,3); // Создаём объект softSerial указывая выводы RX, TX (можно указывать любые выводы Arduino UNO)
// В данном случае вывод TX модуля подключается к выводу 2 Arduino, а вывод RX модуля к выводу 3 Arduino.
// Инициируем работу шин UART с указанием скоростей обеих шин: //
void setup(){ //
softSerial.begin(4800); // Инициируем передачу данных по программной шине UART на скорости 4800 (между эхолотом и Arduino)
Serial.begin(4800); // Инициируем передачу данных по аппаратной шине UART на скорости 4800 (между Arduino и компьютером)
} //
//
// Выполняем ретрансляцию: // Всё что пришло с модуля - отправляем компьютеру
void loop(){ //
if(softSerial.available()){ Serial.write(softSerial.read());} // Передаём данные из программной шины UART в аппаратную (от модуля через Arduino к компьютеру)

}

trembo
trembo аватар
Offline
Зарегистрирован: 08.04.2011

Софтваре сериал тоже написана под "нормальные" сигналы.
Хотя "исправить" конечно можно.
Зачем?

MDA
Offline
Зарегистрирован: 27.05.2019

Чтобы сделать красивую сборку без висящих транзисторов и резисторов...

nik182
Offline
Зарегистрирован: 04.05.2015

На честной ардуине стоит честная ft232r а не сh340. Для неё есть программа настройки, которая позволяет переворачивать полярность входных сигналов. Может и для 340 есть что то подобное? 

Green
Offline
Зарегистрирован: 01.10.2015

У софтваре сериал есть опция инверсии данных.