Jawaban ini mencantumkan 4 pilihan dasar:
HardwareSerial
, selalu yang terbaik. Cukup gunakan Serial
variabel yang ditentukan sebelumnya. Pada beberapa Arduinos, ada port HardwareSerial ekstra, yang disebut Serial1
, Serial2
, dll Nano hanya memiliki Serial
.
AltSoftSerial
, yang terbaik dari pustaka serial perangkat lunak. Hanya satu instance diizinkan, dan itu harus digunakan pada salah satu pin Input Capture (pin 8 & 9 untuk Nano).
Saya NeoSWSerial
adalah yang terbaik berikutnya. Ini bekerja pada dua pin, tetapi hanya pada baud rate 9600, 19200 dan 38400.
SoftwareSerial
adalah pilihan terburuk. Ia bekerja pada dua pin, tetapi sangat tidak efisien. Ini menonaktifkan interupsi sepanjang waktu bahwa karakter sedang dikirim ATAU diterima, dan tidak dapat melakukan keduanya pada waktu yang sama (tidak seperti semua pilihan serial lainnya). Ini dapat mengganggu bagian-bagian lain dari sketsa Anda, komunikasi perangkat lain, atau dengan perpustakaan.
Jika Anda bisa menggunakan baud rate yang lebih lambat, Anda bisa tetap mencetak debug Serial
, dan menggunakan salah satu AltSoftSerial
atau NeoSWSerial
untuk perangkat Anda.
Tetapi jika Anda harus menggunakan 115200, satu-satunya pilihan yang dapat diandalkan adalah Serial
. Meskipun AltSoftSerial
dan SoftwareSerial
memungkinkan baud rate itu, mereka mungkin tidak mengirim / menerima data dengan benar.
Dalam hal ini, saya sarankan menggunakan Serial
untuk perangkat 115200. Kecuali Anda menggunakan ISP, Anda harus memutuskan koneksi perangkat untuk mengunggah sketsa baru melalui USB.
Kemudian gunakan AltSoftSerial
atau NeoSWSerial
untuk pernyataan debug Anda. Anda akan memerlukan adaptor Serial-to-USB TTL (alias FTDI) pada pin yang dipilih untuk terhubung ke PC. The Serial Monitor
atau lainnya program emulator Terminal akan membaca dari port USB COM.
key=getKey();
GSM saya (menggunakan pin 2 & 3 Arduino Uno) tidak menerima SMS. Tolong bantu aku.