Örnek koddan
#include <SoftwareSerial.h>SoftwareSerial mySerial (10, 11); // RX, TXvoid setup () {// Seri iletişimi açın ve bağlantı noktasının açılmasını bekleyin: Serial.begin (57600); while (! Seri) {; // seri bağlantı noktasının bağlanmasını bekleyin. Yalnızca Leonardo için gereklidir} Serial.println ("İyi geceler ay!"); // SoftwareSerial port mySerial.begin (4800) için veri hızını ayarlayın; mySerial.println ("Merhaba, dünya?");} void loop () // tekrar tekrar {if (mySerial.available ()) Serial.write (mySerial.read ()); if (Serial.available ()) mySerial.write (Serial.read ());}
Aradaki fark nedir, AT komut çağrıları yapmak için neden 2 tür çağrı kullanılsın.
SoftwareSerial mySerial (10,11) mySerial.begin (10,11)
ve
Serial.begin ( 9600)
Düzenle, bu, sorumu @jfpoilpret yanıtına göre kendi kelimelerimle yanıtlıyor.
- Önemli SoftwareSerial gerçek komutları GSM'ye göndermek için kullanıldığından ve Serial'ın hata ayıklama bağlantı noktasındaki tüm komutları ve yanıtlarını
görüntülemek
için kullanıldığından, hem Seri hem de SoftwareSerial'ı başlatın GSM - GSM ve Arduino'daki pinler, 2'yi bağlamak ve gerçek komutları iletmek için kullanılır. RS232 yalnızca hata ayıklama için kullanılırken. Bununla birlikte, GSM'yi masaüstüne (veya dizüstü bilgisayara) bağlamak için bir RS232'yi USB konektörüne bağlayabiliriz
- Döngüdeki kod, tüm gerçek komutların dönüştürülmesine yardımcı olmak için gereklidir. hata ayıklama RS232 portu ve tam tersi, GSM seri giriş pinlerine komutları iletmek için
cutecom
(ubuntu'da) gibi bir araç kullanmamızı sağlamak için. ol >
Önemli Not: Cutecom'u kullanırken, komut göndermek için CR satırı sonu seçtiğinizden emin olun.