а теперь раскоментируй только строку с инициализацией
mySerial_gauge.begin(9600); строка 183. может после этого всё обламывается, типа два софтсериала глючат между собой, если да, то надо на хард переходить
перецепить 12 контакт (10 pin и 11 pin )на TX2 -16 pin, RX2 -17 pin? я правильно понял. в скетче подправить номера пинов на 16 и 17 и прописать #define mySerial Serial2, и везде где есть просто сериал на Serial2, так?
перецепить 12 контакт (10 pin и 11 pin )на TX2 -16 pin, RX2 -17 pin? я правильно понял. в скетче подправить номера пинов на 16 и 17 и прописать #define mySerial Serial2
это да, так и надо
viki13viki пишет:
и везде где есть просто сериал на Serial2, так?
это нет. Просто Serial не трогай, ведь это у нас просто вывод в монитор для визуального контроля, это вообще другое
я чета запутался. мы же остаемся на тойже ардуине с основным скетчем, просто я перекидываю с 10 11 на 16 17 и это в основном скетче у нас идет mySerial_gauge а не просто сериал, просто сериал у нас теперь сидит на 12 13 это контакт 7. а 10 11 это у нас теперь mySerial_gauge. зачем тогда отдельный скетч?
кстати в основном скетче. просто Serial у нас вообще ни начём не сидит, а используется только для вывода в сериал монитор , а 12,13 (контакт 7 обд) это софт сериал под именем mySerial
странно, что у тебя видит на пине RX Serial2 (17 Пин ардуино) то, что отправляется на с 16 мина TX. Например при проверке рабочим скечем, там сначала идёт 55 52 80 а затем мы с порта 16 отсылаем 7F и его по идее не должно быть видно, а этот байт виден. Также в основном скетче потом посылаем портом ТХ запросы 02 11 0 13 и их же видим в RX порту , так не должно быть это эхо какоето.
ТЫ коряво конечно переделал на хард сериал.
Когда пишеш Serial2 пины уже назнычены на 16,17. А ты взял заинициализировал софт сериал на порты хардсериала)))
в итоге у тебя походу софт сериал всё таки работает))
так что нужно сделать? нужно поменять местами TX RX или в скетче поменять на 17 пин или убрать строчку SoftwareSerial mySerial_gauge (17, 16 ); //RХ,TХ. Скажи что нужно сделать
проверь наш рабочий скетч, 5 раз. каждыйраз ли данные начиная с 23 будут идти? ничего не понимаю, скетч один в один в большом скетче просто в цикле while всё тормозится, и этот цикл становится как луп с рабочего скетча
можно конечно мудрить через millis(), но это блин так коряво. Есть более изящные решения, но из меня программист как из обезъяны танцор.
короче нужно время, подумать надо, завтра если будет своб время на работе подумаю
понял. если не решим то конечно можно мини дуню взять . но так не хочется еще чета в ту коробочку сунуть. попытаемся пока что. там будет видно
ок. спасибо
а теперь раскоментируй только строку с инициализацией
mySerial_gauge.begin(9600); строка 183. может после этого всё обламывается, типа два софтсериала глючат между собой, если да, то надо на хард переходить
секунду......
результат
вот оно, косяк то не в задержках, да, надо пробовать хард. Убедись 100% что если опять закоментировать, данные начинают идти?
меняется всё просто, переключаешь провода например на сериал 2. в скетче название сериалов даже можно оставить, а перенаправить на хард так
#define mySerial Serial2
да. данные сново идут.
блин лучше правда 12 контакт на хард вешать
короче вешай 12 контакт на хард Сериал2 например. Заливай скетч, 895# и исправвляй на хард, проверяй как данные идут
перецепить 12 контакт (10 pin и 11 pin )на TX2 -16 pin, RX2 -17 pin? я правильно понял. в скетче подправить номера пинов на 16 и 17 и прописать #define mySerial Serial2, и везде где есть просто сериал на Serial2, так?
это да, так и надо
только прописать надо такую строчку #define mySerial_gauge Serial2 ты же софтсериал панели будешь переключать, а он у нас называеться mySerial_gauge
а блин, в том же скетче просто meSerial был, которче так надо
ок. понял. перепаяю завтра, уже собрал торпеду. завтра разберу и перепаяю. и проверю.
да, к стати, забыл сказать. С часами решил вопрос, заказал и поставил новый модуль, теперь все в ожуре. всетаки модуль был косячный
с часами ок, хорошо. Хоть одна проблема ушла, а то тяжко чето твой бортовик эволюционирует. ПС. сообщение 964 поправил, скетч запостил
я чета запутался. мы же остаемся на тойже ардуине с основным скетчем, просто я перекидываю с 10 11 на 16 17 и это в основном скетче у нас идет mySerial_gauge а не просто сериал, просто сериал у нас теперь сидит на 12 13 это контакт 7. а 10 11 это у нас теперь mySerial_gauge. зачем тогда отдельный скетч?
это да, но пока мы другой скетч временно заливаем (который рабочий с данными на панель), а там просто mySerial было.
просто проверить работу адаптера на харде и как он с контактом 12 ОБД коннекнтится, скетч то мы знаем что рабочий
ааа.... понял. завтра забадяжу. туплю в конце дня
кстати в основном скетче. просто Serial у нас вообще ни начём не сидит, а используется только для вывода в сериал монитор , а 12,13 (контакт 7 обд) это софт сериал под именем mySerial
я имел в виду mySerial. завтра голова будет свежее.
вот переделал, на хард основной скетч, но поменял там кое что, короче скетчей уже как грязи
ок
кстати почитал про одновременное использование двух портов софтсериала - никактит - у всех проблемы
я тоже чуток читал. если ты не решил проблему , значит это точно не решаемо. ты же у нас гений.
И так. Перепаял на серила2. проверил работающим скетчем для 12 пина. вот результат, разбил для удобства
потом залил твой последний скетч из поста 974, вот результат
залил последний скетч подправленнный, вот этот. по ходу это оптимальный вариант для продолжения
вот его результат. 7 контакт отображается на экране
работает однако хе хе хе.... осталось добится получения данных от панели.
странно, что у тебя видит на пине RX Serial2 (17 Пин ардуино) то, что отправляется на с 16 мина TX. Например при проверке рабочим скечем, там сначала идёт 55 52 80 а затем мы с порта 16 отсылаем 7F и его по идее не должно быть видно, а этот байт виден. Также в основном скетче потом посылаем портом ТХ запросы 02 11 0 13 и их же видим в RX порту , так не должно быть это эхо какоето.
ТЫ коряво конечно переделал на хард сериал.
Когда пишеш Serial2 пины уже назнычены на 16,17. А ты взял заинициализировал софт сериал на порты хардсериала)))
в итоге у тебя походу софт сериал всё таки работает))
строку 050 убери!!
так что нужно сделать? нужно поменять местами TX RX или в скетче поменять на 17 пин или убрать строчку
SoftwareSerial mySerial_gauge (17, 16 );
//RХ,TХ. Скажи что нужно сделать
секунду сейчас уберу
да вообще её убрать или закоментируй
результат тот же
может у тебя замыкание между этими пинами ? блин фигня какаято , не должно так быть
может флюс. щас продизенфицирую. и попробую
неа. протер но все было чисто. результат тотже
ну не знаю щас в цикл while воткнем цикл луп с рабочего скетча пустьб вертится, посмотрим
единственная фраза Otpravil zapros Init и тишина
#988 исправил пробуй
блин, ну какже эти скетчи грамотно совместить, подумаю
а где данные начина с 23? почему то их нет хотя скетч такой же
в том то идело что нет, только идентификация идет
наконецто вычислил. вот формулы и байты бака и пробега
сбрасываемый счетчик пробега - kmAge = (MessageRxGauge[26]+(MessageRxGauge[27]*256))/10.00;
а вот бак солярка - Fuel = MessageRxGauge[20]/2.00;
проверь наш рабочий скетч, 5 раз. каждыйраз ли данные начиная с 23 будут идти? ничего не понимаю, скетч один в один в большом скетче просто в цикле while всё тормозится, и этот цикл становится как луп с рабочего скетча
а понял почему данные с 23 не идут, можешь непроверять, я накосячил
строки 349 - 355 сделай там вместо mySerial нужно это my.Serial_gauge
в скетче из 988 или моего последнего из 978? понял в 988. сейчас....
данные пошли, но 7 ничего. вот результат