Dal codice di esempio
#include <SoftwareSerial.h>SoftwareSerial mySerial (10, 11); // RX, TXvoid setup () {// Apri comunicazioni seriali e attendi l'apertura della porta: Serial.begin (57600); while (! Serial) {; // attende che la porta seriale si connetta. Necessario solo per Leonardo} Serial.println ("Goodnight moon!"); // imposta la velocità dati per la porta SoftwareSerial mySerial.begin (4800); mySerial.println ("Hello, world?");} void loop () // eseguito ancora e ancora {if (mySerial.available ()) Serial.write (mySerial.read ()); if (Serial.available ()) mySerial.write (Serial.read ());}
Qual è la differenza tra, perché utilizzare 2 tipi di chiamate per effettuare chiamate di comando AT.
SoftwareSerial mySerial (10,11) mySerial.begin (10,11)
e
Serial.begin ( 9600)
Modifica, questo risponde alla mia domanda con parole mie basate sulla risposta di @jfpoilpret.
- È importante inizializza sia Serial che SoftwareSerial , poiché SoftwareSerial viene utilizzato per inviare i comandi effettivi al GSM, e Serial viene utilizzato per
visualizzare
tutti i comandi e le loro risposte sulla porta di debug di il GSM - I pin sul GSM e su Arduino servono per connettere il 2 e trasmettere i comandi effettivi . Mentre l'RS232 viene utilizzato solo per il debug. Possiamo tuttavia collegare un connettore RS232 a USB in modo da collegare il GSM al desktop (o laptop)
- Il codice nel loop è essenziale per aiutare a convertire tutti i comandi effettivi in la porta di debug RS232 e viceversa, in modo da consentirci di utilizzare uno strumento come
cutecom
(su ubuntu) per passare comandi ai pin di ingresso seriale GSM. ol >
Nota importante: quando si utilizza cutecom assicurarsi di selezionare Fine riga CR per inviare i comandi.