Здравствуйте скажите пожалуйста есть ли разница в том, какие пины использовать для softwareserial у таких плат как Uno и Wemos d1? И насколько softwareserial чувствителен к скорости порта? У меня при работе с GSM модулем через softwareserial каракули появляются на скорости выше 9600, (данные передаются с softwareserial на аппаратный serial через переменную val..При этом почему то всегда теряется последняя строка. (думаю либо в скорости проблема, либо в скетче) можно ли это как-то обойти чтобы увеличить скорость?
А зачем Вам software serial?Вы не умеете с аппаратным работать?Зачем делать глючный порт и чудовищный размер кода?Ардуинский может работать на 11500 у меня работал.Но дело совсем не в скорости.9600 это самый лучший бодрейт.У вемоса два сериала один програмный через который он шьется а второй програмный.
мне просто по проекту надо чтобы uno получала данные от нескольких устройств, в том числе и от вемос т.к нужно wifi управление, а к wemos через software подключен еще один модуль и это всё через переменную передается на сериал uno. поэтому скорость везде поставил 9600
С потерей строки разобрался как-то случайно, банально переписал код еще раз и всё стало нормально работать. судя по всему был косяк с while или обнулением переменной, так и не понял, а прошлый вариант не сохранился))
Разница есть и это даже обозначено на сайте ардуины. Пин, на который Вы вешаете RX, должен поддерживать прерывания. Скорость устанавливаете не более, чем поддерживает сама плата. Например на связке Wemos D1 mini и SIM800L скорость 115200 прекрасно работает. А на связке Wemos D1 mini и DF-MP3-Player только 9600. Аналогично 9600 работает на связке Arduino Nano и SIM800L ...
Причем здесь прерывания?У Avr есть прерывания по приему бита но в Ардуино его не реализовать.USART единственный способ связи? А I2С?