首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >DFRobot SIM7000库未编译-W缩小错误

DFRobot SIM7000库未编译-W缩小错误
EN

Stack Overflow用户
提问于 2021-06-01 07:49:54
回答 1查看 234关注 0票数 1

我正在与一个Arduino Mega和一个SIM7000E Arduino NB-物联网/LTE/GPRS/GPS扩展盾。我试图运行DFRobot在其图托中提供的示例,但库中出现了一个缩小错误。在网络上,他们建议我修改代码以避免这个问题,但是由于它是一个库,所以我不应该去处理它。有谁有主意吗?

我正在开发VSCode和platformIO集成环境。我的编译器是gcc,我已经从SIM7000SIM下载了两个使用过的库。

示例代码:

代码语言:javascript
运行
复制
`#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);
}`   

错误输出:

代码语言:javascript
运行
复制
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,0x54,0x04,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]
EN

回答 1

Stack Overflow用户

发布于 2022-05-12 21:32:59

打开DFRobot_SIM7000.h文件并将String.h更改为string.h. h。您应该已经有了string.h .h,并且您的代码应该可以编译。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67784782

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档