У цій відповіді перелічені 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Або інший термінал програма емулятора буде зчитувати з цим USB COM - порту.
key=getKey();свій GSM (використовуючи контакт 2 та 3 Arduino Uno), не отримує SMS. Допоможіть мені, будь ласка.