В этом ответе перечислены 4 основных варианта:
HardwareSerial, всегда лучший. Просто используйте предопределенную Serialпеременную. На некоторых Arduinos есть дополнительные HardwareSerial порты, названные Serial1, Serial2и т.д. Nano имеет только Serial.
AltSoftSerialЛучшие из серийных программных библиотек. Разрешен только один экземпляр, и он должен использоваться на одном из выводов ввода ввода (выводы 8 и 9 для Nano).
Мой NeoSWSerialследующий лучший. Он работает на любых двух выводах, но только со скоростью 9600, 19200 и 38400 бод.
SoftwareSerialэто худший выбор. Он работает на любых двух выводах, но очень неэффективен. Он отключает прерывания на все время отправки или получения символа и не может делать оба одновременно (в отличие от всех других последовательных вариантов). Это может помешать другим частям вашего эскиза, другим устройствам или библиотекам.
Если вы могли бы использовать более низкую скорость передачи данных, вы можете сохранить ваши отладочные отпечатки на Serialи использовать либо AltSoftSerialили NeoSWSerialдля вашего устройства.
Но если вам нужно использовать 115200, единственный надежный выбор Serial. Хотя AltSoftSerialи SoftwareSerialразрешить эту скорость передачи данных, они могут не отправлять / получать данные правильно.
В этом случае я бы предложил использовать Serialдля устройства 115200. Если вы не используете интернет-провайдера, вам придется отключить устройство, чтобы загрузить новый эскиз через USB.
Затем используйте AltSoftSerialили NeoSWSerialдля ваших отладочных операторов. Вам понадобится адаптер TTL Serial-to-USB (также известный как FTDI) на выбранных контактах для подключения к ПК. Эта Serial Monitorили другая программа-эмулятор терминала будет считывать данные с этого COM-порта USB.
key=getKey();свой GSM (используя 2 и 3 контакт Arduino Uno), я не получаю SMS. Помоги мне, пожалуйста.