【问题标题】:Arduino GSM module returns "?"question mark characterArduino GSM 模块返回“?”问号字符
【发布时间】:2020-12-04 09:17:17
【问题描述】:

我刚刚连接了一个 A6 GSM 模块并编写了一个代码以通过以 9600 波特率连接的串行监视器与之交互。但字符“?”只是不停地来,没有其他工作。

这是我的代码:

#include<SoftwareSerial.h>

SoftwareSerial gprs(8, 9);

void setup(){
  gprs.begin(9600);
  Serial.begin(9600);
}

void loop(){
  while (gprs.available())
    Serial.write(gprs.read());

  while (Serial.available())
    gprs.write(Serial.read());
}

【问题讨论】:

  • 你接地了吗?
  • @Juraj 是的,arduino 和 gsm 接​​地都已连接到电源地
  • 我隐约记得 A6 GSM 模块在出厂时设置为 115200 波特。不确定,但你可以试试那个波特率,看看会发生什么。另外,你有没有穿过 TX 和 RX 线?
  • @ocrdu 谢谢,这对我有用。

标签: arduino gsm gprs


【解决方案1】:

我后来发现你应该以 115200 波特率连接它,如果你想改变波特率,请在默认波特率下命令它这样做。

AT+IPR=9600   -- to change it
AT&W          -- to save the change

如果使用软件串行,降低波特率至关重要。 (第二条命令应该在9600重连后发送,因为第一条命令改变了波特率)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多