4103浏览
查看: 4103|回复: 6

[进阶] Gravity: UART A6 GSM & GPRS 无线通信模块 AT指令返回异常

[复制链接]
本帖最后由 DFH1w5pg6k4 于 2019-1-19 18:47 编辑

Gravity UARTA6 GSM&GPRS连接Arduino UNO R3之后,按照维库的代码上传R3后,在串口监视器出现⸮⸮⸮这样的乱字符返回、或者完全没有返回值。在串口监视器上手动输入AT指令也是一样。用的是移动的NANO SIM卡配大板支架适配UART A6背面的SIM卡插槽。
大家谁能指点一下?

gada888  版主

发表于 2019-1-19 18:54:55

你最好多一点资料,例如图片。代码什么的。别人不一定用过那个模块,但是可以根据代码来判断一下。
回复

使用道具 举报

DFH1w5pg6k4  见习技师
 楼主|

发表于 2019-1-19 19:44:47

本帖最后由 DFH1w5pg6k4 于 2019-1-19 19:53 编辑

代码是商城中商品对应的维库自带的代码,这段代码只是做了个初始化检查。如下:
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin11, RX-Pin10
void updateSerial()
{
  delay(2000);
  while (Serial.available()) {
    mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
  }
  while(mySerial.available()) {
    Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
  }
  
}   

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

void loop()
{
  mySerial.println("AT");          //握手测试,成功则返回OK
  updateSerial();
   
  mySerial.println("AT+CSQ");      //信号质量测试,值为0-31,31表示最好
  updateSerial();
   
  mySerial.println("AT+CCID");    //读取SIM,可以检测是否有SIM卡或者是否接触良好
  updateSerial();
  
  mySerial.println("AT+CREG?");    //检测是否注册网络
  updateSerial();   

  mySerial.println("AT+SNFS=0");  //调整为耳机模式(AT+SNFS=1 表示扬声器模式)   
  updateSerial();
     
  mySerial.println("AT+CRSL=2");  //调整音量,值为0-15,15表示音量最大
  updateSerial();
   
  while(1)
  {
    if(mySerial.available())
    {
      Serial.write(mySerial.read());//如果mySerial收到数据则通过Serial输出
    }
    if(Serial.available())
    {
      mySerial.write(Serial.read());//如果Serial收到数据则通过mySerial输出
    }   
  }
}

硬件连接:
Gravity: UART A6 GSM & GPRS 无线通信模块 AT指令返回异常图1
串口监视器的乱码返回:

Gravity: UART A6 GSM & GPRS 无线通信模块 AT指令返回异常图2

我用的Mac电脑下的Arduino IDE。
回复

使用道具 举报

gada888  版主

发表于 2019-1-19 21:26:56

把这两行去掉,直接接硬件串口试试。硬串在板上写着TX.RX
#include <SoftwareSerial.h>
SoftwareSerial mySerial(11, 10);  // TX-Pin11, RX-Pin10
回复

使用道具 举报

fats114  初级技师

发表于 2019-1-19 21:44:48

瞄了一眼没仔细看,最好提供一下接线和代码截图,这个代码和连接图直接从wiki上拖过来很难看出问题,不过串口监视器截图显示你应该是选错串口了,恭喜你
回复

使用道具 举报

DFH1w5pg6k4  见习技师
 楼主|

发表于 2019-1-19 22:02:08

问题解决了。先把波特率调成一个不是9600的,运行一遍程序,然后再调回9600运行程序,问题就神奇地解决了。多谢各位高人,我也不知是什么原因,是不是相当于一种重置啊?!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail