Сделал конвертер на ардуино. т.е. использую на ардуино два serial порта. к одному подключаю блютуз модуль, к другому переходник usb-uart на ftdi. в библиотеке SoftwareSerial в файле SoftwareSerial.cpp добавлял в трех местах строчки для нестандартной скорости: { 10400, 106, 218, 218, 215, },
В терминалах обмен происходит. подключаю вместо переходника k-line адаптер, программа дианостики автомобиля его не видет. k-line адаптер работает на скорости 10400. пробовал вместо программы диагностики включать терминал. какие то данные приходят при включении зажигания.почему программа не видет адаптер?
Пробовал вместо блютуза использовать ардуино как usb-uart переходник, все работает.
Может влияет скорость указанная в программе? Порт по блютуз открывается 9600, а в программе выбор только 10400. Может нужно делать буфер максимально возможный.
Вложение 18814
Код:#include <SoftwareSerial.h> SoftwareSerial mySerial(10, 11); // RX, TX void setup() { // Инициализируем последовательный интерфейс и ждем открытия порта: Serial.begin(9600); while (!Serial) Serial.println("Goodnight moon!"); // устанавливаем скорость передачи данных для последовательного порта, созданного // библиотекой SoftwareSerial mySerial.begin(10400); } void loop() // выполняется циклически { if (mySerial.available()) Serial.write(mySerial.read()); if (Serial.available()) mySerial.write(Serial.read()); }
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)