Câu trả lời này liệt kê 4 lựa chọn cơ bản:
HardwareSerial, luôn luôn là tốt nhất. Đơn giản chỉ cần sử dụng Serialbiến được xác định trước . Trên một số Arduinos, có cổng HardwareSerial thêm, gọi Serial1, Serial2vv Các Nano chỉ có Serial.
AltSoftSerial, tốt nhất của các thư viện nối tiếp phần mềm. Chỉ cho phép một phiên bản và nó phải được sử dụng trên một trong các chân Chụp đầu vào (chân 8 & 9 cho Nano).
Của tôi NeoSWSeriallà tốt nhất tiếp theo. Nó hoạt động trên bất kỳ hai chân, nhưng chỉ ở tốc độ baud 9600, 19200 và 38400.
SoftwareSeriallà sự lựa chọn tồi tệ nhất. Nó hoạt động trên bất kỳ hai chân, nhưng nó rất không hiệu quả. Nó vô hiệu hóa các ngắt trong toàn bộ thời gian mà một ký tự được gửi HOẶC nhận được và nó không thể thực hiện cả hai cùng một lúc (không giống như tất cả các lựa chọn nối tiếp khác). Điều này có thể can thiệp vào các phần khác trong bản phác thảo của bạn, thông tin liên lạc thiết bị khác hoặc với các thư viện.
Nếu bạn có thể sử dụng tốc độ truyền chậm hơn, bạn có thể tiếp tục in gỡ lỗi Serialvà sử dụng AltSoftSerialhoặc NeoSWSerialcho thiết bị của mình.
Nhưng nếu bạn phải sử dụng 115200, sự lựa chọn đáng tin cậy duy nhất là Serial. Mặc dù AltSoftSerialvà SoftwareSerialcho phép tốc độ truyền đó, họ có thể không gửi / nhận dữ liệu chính xác.
Trong trường hợp đó, tôi sẽ đề nghị sử dụng Serialcho thiết bị 115200. Trừ khi bạn đang sử dụng ISP, bạn sẽ phải ngắt kết nối thiết bị để tải lên bản phác thảo mới qua USB.
Sau đó sử dụng AltSoftSerialhoặc NeoSWSerialcho các báo cáo gỡ lỗi của bạn. Bạn sẽ cần một bộ chuyển đổi nối tiếp USB (hay còn gọi là FTDI) trên các chân được chọn để kết nối với PC. Các Serial Monitorhoặc khác chương trình giả lập thiết bị đầu cuối sẽ đọc từ cổng USB COM.
key=getKey();GSM (sử dụng pin 2 & 3 Arduino Uno) thì không nhận được SMS. Làm ơn giúp tôi với.