DFRobot SIM7000 库未编译 - Wnarrowing 错误

问题描述

我正在使用 Arduino Mega 和 SIM7000E Arduino nb-iot/LTE/GPRS/GPS 扩展板。我试图在他们的 tuto 中运行 DFRobot 提供的示例,但在库中出现了一个缩小错误。在网络上,他们建议我更改代码以避免此问题,但由于它是一个库,我不应该弄乱它。有人有想法吗?

我正在使用 platformIO 集成 IDE 开发 VSCode。我的编译器是 gcc,我已经从 DFRobot_SIM7000DFRobot_SIM

下载了两个使用过的库

示例代码

`#include <Wire.h>
#include <DFRobot_SIM7000.h>

#define PIN_TX     7
#define PIN_RX     8
SoftwareSerial     mySerial(PIN_RX,PIN_TX);
DFRobot_SIM7000    sim7000;
static char        buff[350];

void setup(){
    int signalStrength,datanum;
    Serial.begin(115200);
    sim7000.begin(mySerial);
    sim7000.turnOFF();
    delay(5000);
    Serial.println("Turn ON SIM7000......");
    if(sim7000.turnON()){                                                                      //Turn ON SIM7000
        Serial.println("Turn ON !");
    }
    Serial.println("Set baud rate......");
    if(sim7000.setBaudrate(19200)){                                                            //Set baud rate from 115200 to 19200
        Serial.println("Set baud rate:19200");
    }else{
        Serial.println("Faile to set baud rate");
        while(1);
    }
    Serial.println("Check SIM card......");
    if(sim7000.checkSimstatus()){                                                              //Check SIM card
        Serial.println("SIM card READY");
    }else{
        Serial.println("SIM card ERROR");
        while(1);
    }
    delay(500);
    Serial.println("Set net mod......");
    if(sim7000.setNetMode(NB)){                                                                    //Set net mod nb-iot
        Serial.println("Set nb-iot mode");
    }else{
        Serial.println("Fail to set mode");
    }
    Serial.println("Get signal quality......");
    delay(500);
    signalStrength=sim7000.checkSignalQuality();                                               //Check signal quality from (0-30)
    Serial.print("signalStrength =");
    Serial.println(signalStrength);
    delay(500);
    Serial.println("Attaching service......");
    if(sim7000.attacthService()){                                                              //Open the connection
        Serial.println("Attach service");
    }else{
        Serial.println("Fail to Attach service");
        while(1);
    }
    delay(200);
    Serial.println("Connecting......");
    if(sim7000.openNetwork(TCP,"www.taobao.com",80)){                                              //Start Up TCP or UDP Connection
        Serial.println("Connect OK");
    }else{
        Serial.println("Fail to connect");
        while(1);
    }
    sim7000.send("HEAD/HTTP/1.1\r\nHost:www.taobao.com\r\nConnection:keep-alive\r\n\r\n");     //Send Data Through TCP or UDP Connection
    datanum=sim7000.recv(buff,350,0);                                                          //Receive data
    Serial.print("datanum=");
    Serial.println(datanum);
    Serial.println(buff);
    delay(500);
    if(sim7000.closeNetwork()){                                                   //End the connection
        Serial.println("Close connection");
    }else{
        Serial.println("Fail to close connection");
    }
    delay(2000);
    sim7000.turnOFF();                                                                         //Turn OFF SIM7000
}

void loop() {
    delay(1000);
}`   

错误输出

lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp: In member function 'bool DFRobot_SIM7000::mqttConnect(char*,char*,char*)':
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:312:77: error: narrowing conversion of '194' from 'int' to 'char' inside { } [-Wnarrowing]
     char MQTThead[10]={0x00,0x04,0x4d,0x51,0x54,0xc2,0x0b,0xb8};
                                                                         
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:312:77: error: narrowing conversion of '184' from 'int' to 'char' inside { } [-Wnarrowing]
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp: In member function 'bool DFRobot_SIM7000::mqttdisconnect()':
lib\DFRobot_SIM7000\DFRobot_SIM7000.cpp:427:40: error: narrowing conversion of '224' from 'int' to 'char' inside { } [-Wnarrowing]

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)