Страница 1 из 1
Не работает SoftwareSerial UART!?
Добавлено: 27 дек 2019, 18:30
kolya_asu
Добрый день. Не могу понять почему не работает SoftwareSerial UART. С Serial 0 все в порядке, принимает - передает, а вот из SoftwareSerial проблема, ни принять ни отправить ничего не получается. На форуме вычитал вот что:
Пробовал по Вашей лекции по UART (не получалось, обратился к Вашим материалам — спасибо Вам, много разъясняется) и понял, почему и не получалось. Дело в том, что при компиляции в Arduino IDE появляются вместо команд Serial.begin(9600) и Serial.println команды Serial3.println, Serial3.begin(9600). В моем случае, это третий com порт. И IDE их не распознает (хотя ошибок нет, но и информации тоже нет). Убираешь номер порта — и все нормально!
.
Адаптер использую вот такой:
MAX232 to TTL
Думал может МАХ232 подпалил, уже две новые микросхемы запаивал - ничего не поменялось.
Просьба, может кто-то своим опытным глазом посмотреть на скетч, который генерируется для АРДУИНО ИДЕ? Может здесь проблема? Или в самой программе? Подскажите пожалуйста.
Программа FLprog v5.3 x64 portable. Arduino v1.8.9
Не работает SoftwareSerial UART!?
Добавлено: 29 дек 2019, 00:44
grin-mpx
В UART пробовали отправлять переменную string?
Не работает SoftwareSerial UART!?
Добавлено: 29 дек 2019, 01:25
kolya_asu
Да, пробовал. С Serial 0 - работает, а SoftwareSerial - нет!? Заказал новый адаптер RS232 to TTL. В понедельник попробую... Не знаю, что еще может быть.
Не работает SoftwareSerial UART!?
Добавлено: 29 дек 2019, 12:41
dizzyy
попробуйте пообщатся через SoftwareSerial с другими датчиками и вывести это все в монитор порта ..
Не работает SoftwareSerial UART!?
Добавлено: 30 дек 2019, 10:25
Sancho
[ref]kolya_asu[/ref], У Вас в блоках для дисплея одинаковые настройки....

Не работает SoftwareSerial UART!?
Добавлено: 31 дек 2019, 16:43
kolya_asu
Да, настройки одинаковы. В спешке забыл подправить. Удалось выяснить в чем проблема. А проблема все таки в адаптере RS232 to TTL. Почему то китайские, с керамическими конденсаторами не работают, не могу понять почему. А вот конвертер на той же микросхеме но с электролитами - заработал, но иногда тоже отваливается. Вот такой
Адаптер.
Отправлено спустя 2 минуты 40 секунд:
Возникла другая проблема. Данной конструкцией хочу "подружить" последовательный порт весов с ардуиной, что бы через нее передавать данный по модбас.
СТроку данных получаю в формате wn000.000kg, как и написано в инструкции. Только после нескольких секунд нормального приема строки в терминале, начиняться какая то каша. Код взял в другой теме от ув. Слимпера, убрав пару блоков.
Вот посмотрите пожалуйста:
Отправлено спустя 21 минуту 16 секунд:
И еще, знает кто, как нужно подправить код, чтобы из строки wn000.000kg, вытянуть значение 000.000 (только цифры)?
Не работает SoftwareSerial UART!?
Добавлено: 31 дек 2019, 17:05
grin-mpx
Попробуйте сделать все по порядку. Внизу пример.
И старайтесь в Меге328 использовать SoftwareSerial с пинами 2.3, там есть прерывания.
Не работает SoftwareSerial UART!?
Добавлено: 31 дек 2019, 19:17
Sancho
[ref]grin-mpx[/ref], Думаю, что 100 мксек мало для скорости 9600. Один байт приходит за 1мс(около того). Да и куча триггеров - не фонтан...
Отправлено спустя 1 минуту 30 секунд:
Softserial по барабану пины - она устроена иначе. Даже если и по прерываниям - достаточно приём на них повесить, передаче пофиг.
Не работает SoftwareSerial UART!?
Добавлено: 02 янв 2020, 03:31
kolya_asu
grin-mpx писал(а): 31 дек 2019, 17:05
Попробуйте сделать все по порядку. Внизу пример.
И старайтесь в Меге328 использовать SoftwareSerial с пинами 2.3, там есть прерывания.
grin-mpx, изменения есть, но не на много лучше стало, вот скрин:
На весах выставил непрерывную передачу 4800 битрейт (была и 9600 и 1200, без разницы).Там также есть возможность настроить отправку по запросу...Надо послать символ "R". А если отправлять запросы раз в 1-2сек, то может пропадут эти глюки, которые есть при непрерывной передаче?
Не работает SoftwareSerial UART!?
Добавлено: 02 янв 2020, 03:41
kolya_asu
Sancho писал(а): 31 дек 2019, 19:17Sancho
Sancho, Ваш вариант (mega222_v02.flp), почему то вообще не хочет работать. Прошивал правда версией 6.2.1. Так как на 5.3, на которой я сейчас, Ваш проект вылетает.
Не работает SoftwareSerial UART!?
Добавлено: 02 янв 2020, 08:34
Sancho
[ref]kolya_asu[/ref], if(Дисплей есть){цепляйте;} // расскажите какой - сделайте тест.
Вместо вывода в уарт - на дисплей.
Не работает SoftwareSerial UART!?
Добавлено: 04 янв 2020, 03:36
kolya_asu
Здравствуйте. Понял почему не работал у меня нормально SoftWare. Дело в том, что весы настроены на непрерывную передачу данных и Ардуинка не успевает что ли обрабатывать эти самые данные. Перевел весы в отправку данных по запросу. Теперь отправляем им символ "R", а в ответ принимаем данные. После этого я увидел родные цифры, а не иероглифы. Но ошибки проявляются время от времени. Как их можно отфильтровать или убрать, что бы они не передавались дальше по модбасу? Время пробовал менять от 1 сек. до 2 сек., все равно есть артефакты.