2019-6-16 00:13:01 [显示全部楼层]
4380浏览
查看: 4380|回复: 10

[求助] 十万火急!SIM7000C接收不到AT指令

[复制链接]
10创造力
MEGA2560装配了SIM7000C,采用7.4V锂电池作为外部电源,跑样例代码无响应,SIM7000C的ON灯亮着,NET灯会闪烁,但是得不到数据,一直是"Turn ON SIM7000......",真的很着急,求大佬帮忙!#include <Wire.h>
#include <DFRobot_SIM7000.h>

#define PIN_TX     7
#define PIN_RX     8
SoftwareSerial     mySerial(PIN_RX,PIN_TX);
DFRobot_SIM7000    sim7000;

void setup(){
    int signalStrength,dataNum;
    Serial.begin(115200);
    while(!Serial);
    sim7000.begin(mySerial);
    Serial.println("Enter anything to get positioning ");
    char loge[10];
    readSerial(loge);
    Serial.println("Getting position......");

    Serial.println("Turn ON SIM7000......");
    if(sim7000.turnON()){                                          //Turn ON SIM7000
        Serial.println("Turn ON !");
    }

    Serial.println("Set baud rate......");
    while(1){
        if(sim7000.setBaudRate(19200)){                            //Set SIM7000 baud rate from 115200 to 19200 reduce the baud rate to avoid distortion
            Serial.println("Set baud rate:19200");
            break;
        }else{
            Serial.println("Faile to set baud rate");
            delay(1000);
        }
    }

    Serial.println("Check SIM card......");
    if(sim7000.checkSIMStatus()){                                  //Check SIM card
        Serial.println("SIM card READY");
    }else{
        Serial.println("SIM card ERROR, Check if you h ave insert SIM card and restart SIM7000");
        while(1);
    }

    Serial.println("Init positioning function......");
    while(1){
        if(sim7000.initPos()){
            Serial.println("Positioning function initialized");
            break;
        }else{
            Serial.println("Fail to init positioning function");
            delay(1000);
        }
    }
}

void loop(){
    Serial.println("Enter anything end with CRLF to get positioning ");
    char loge[10];
    readSerial(loge);
    Serial.println("Getting position......");
    if(sim7000.getPosition()){                                     //Get the current position
        Serial.print(" Longitude : ");
        Serial.println(sim7000.getLongitude());                    //Get longitude
        Serial.print(" Latitude : ");
        Serial.println(sim7000.getLatitude());                     //Get latitude
    }else{
        Serial.println("Wrong data try again");
    }
}

int readSerial(char result[]){
    int i = 0;
    while(1){
        while(Serial.available() > 0){
            char inChar = Serial.read();
            if(inChar == '\n'){
                result = '\0';
                Serial.flush();
                return 0;
            }
            if(inChar != '\r'){
                result = inChar;
                i++;
            }
        }
    }
}

DFSH_Faith  NPC

发表于 2019-6-17 11:56:15

麻烦发一下具体的接线图哦
回复

使用道具 举报

大圈biubiu  中级技师

发表于 2019-6-17 14:47:52

你用的是什么卡啊,楼上说的应该是用mage的话 需要短接D8和D10
回复

使用道具 举报

gada888  版主

发表于 2019-6-20 07:22:37

COM打印出来的结果是什么
回复

使用道具 举报

青出于蓝  初级技师

发表于 2019-9-8 12:21:25

看一下接线
回复

使用道具 举报

会飞的叶子  学徒

发表于 2020-1-30 15:40:18

我原来也是这样的,主要是因为程序里的引脚设置没改。
将D8和D10短接后,将程序中的:
#define PIN_TX     7
#define PIN_RX     8
改为:
#define PIN_TX     7
#define PIN_RX     10
即可,可以试试,希望有帮助~
回复

使用道具 举报

我是小黄  学徒

发表于 2022-2-8 16:48:31

将换行符 改成NL CL
回复

使用道具 举报

KkQ1VrB7W776  高级技师

发表于 2022-2-26 23:29:21

检查接线,检查程序,检查硬件
回复

使用道具 举报

赤星三春牛!  初级技神

发表于 2022-2-27 15:05:32

额,我不会啊
回复

使用道具 举报

 初级技匠

发表于 2022-4-13 16:44:00

不要只给程序,接线和其他数据也很重要
回复

使用道具 举报

头疼欲裂  初级技师

发表于 2022-7-16 10:29:32

我的用的UNO,能跑起来,但到了Getting position的这句后,输入任意内容回车后,显示Wrong data try again.
我用的是手机sim卡,不是NB-iot的卡,是不是不行?
SatJuly-202207169343..png
回复

使用道具 举报

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

本版积分规则

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

硬件清单

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

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

mail