Từ mã mẫu
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}
void loop() // run over and over
{
if (mySerial.available())
Serial.write(mySerial.read());
if (Serial.available())
mySerial.write(Serial.read());
}
Sự khác biệt giữa, tại sao sử dụng 2 loại cuộc gọi để thực hiện cuộc gọi lệnh AT.
Phần mềmSerial mySerial (10,11) mySerial.begin (10,11)
và
Nối tiếp.begin (9600)
Chỉnh sửa, điều này trả lời câu hỏi của tôi bằng lời nói của tôi dựa trên phản hồi @jfpoilpret.
- Điều quan trọng là khởi tạo cả Nối tiếp và Phần mềm , vì SoftwareSerial được sử dụng để gửi các lệnh thực tế đến GSM và Nối tiếp được sử dụng cho
view
tất cả các lệnh và phản hồi của chúng trên cổng gỡ lỗi của GSM - Các chân trên GSM và Arduino được sử dụng để kết nối 2 và truyền các lệnh thực tế . Trong khi RS232 chỉ được sử dụng để gỡ lỗi. Tuy nhiên, chúng tôi có thể kết nối đầu nối RS232 với USB để kết nối GSM với máy tính để bàn (hoặc máy tính xách tay)
- Mã trong vòng lặp là điều cần thiết để giúp chuyển đổi tất cả các lệnh thực tế sang cổng RS232 gỡ lỗi và ngược lại, để cho phép chúng tôi sử dụng một công cụ như
cutecom
(trên ubfox) để truyền lệnh đến các chân đầu vào nối tiếp GSM.
Lưu ý quan trọng: Khi sử dụng cutecom, đảm bảo rằng bạn chọn đầu dòng CR để gửi lệnh.