Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arduino级HWSerial';没有名为'的成员;阅读';_Arduino_Gprs - Fatal编程技术网

Arduino级HWSerial';没有名为'的成员;阅读';

Arduino级HWSerial';没有名为'的成员;阅读';,arduino,gprs,Arduino,Gprs,我将GSMSHIELD库与Arduino Mega一起使用,在两个不同的系统上出现以下错误 /Users/-----/Documents/Arduino/libraries/GSMSHIELD/SIM900.cpp:在成员函数“int-SIMCOM900::configandwait(char*)”中: /Users/-----/Documents/Arduino/libraries/GSMSHIELD/SIM900.cpp:62:18:错误:“类HWSerial”没有名为“read”的成员 c

我将GSMSHIELD库与Arduino Mega一起使用,在两个不同的系统上出现以下错误

/Users/-----/Documents/Arduino/libraries/GSMSHIELD/SIM900.cpp:在成员函数“int-SIMCOM900::configandwait(char*)”中: /Users/-----/Documents/Arduino/libraries/GSMSHIELD/SIM900.cpp:62:18:错误:“类HWSerial”没有名为“read”的成员 connCode=_cell.read()

我可以通过GSM.h文件追溯到这一点:

#include "HWSerial.h"
...

HWSerial _cell;
以及Arduino HardwareSerial.h文件:

  public:
inline HardwareSerial(
  volatile uint8_t *ubrrh, volatile uint8_t *ubrrl,
  volatile uint8_t *ucsra, volatile uint8_t *ucsrb,
  volatile uint8_t *ucsrc, volatile uint8_t *udr);
void begin(unsigned long baud) { begin(baud, SERIAL_8N1); }
void begin(unsigned long, uint8_t);
void end();
virtual int available(void);
virtual int peek(void);
virtual int read(void);
<snip>
公共:
内联硬件试验(
易失性uint8_t*ubrrh,易失性uint8_t*ubrrl,
易失性uint8_t*ucsra,易失性uint8_t*ucsrb,
易失性uint8_t*ucsrc、易失性uint8_t*udr);
void begin(无符号长波特){begin(波特,串行_8N1);}
无效开始(无符号长,uint8_t);
空端();
虚拟整数可用(无效);
虚拟内窥镜(void);
虚拟整数读取(void);
我一辈子都搞不懂为什么这个不能编译,除非是Arduino开发系统版本(1.6.9)的问题

我没有找到任何关于编写/测试该库的IDE版本的信息


有什么想法吗?

请确保从
/#define MEGA
#define MEGA
取消注释
hwseric.h
中的第一行


您可以在两个位置取消注释
定义
,以便使用Mega而不是Uno板。这是在
GSM.h
HWSerial.h

发行版(也称为“boards”)可以有完全不同的arduino内核,例如没有c_str()的字符串等。这种情况与您的问题非常相似。你们看,消息来源可能不在工作环境中。是的,我理解。但是这个库是为Uno或Mega设计的,由一个#ifdef控制,所以它应该与这个板一起工作。它适用于Uno,但它使用软件串行,我想使用Mega的硬件串行。这就是为什么我认为这可能是一个版本问题…你设法让它工作了吗?不,我没有。这是在项目崩溃前不久。我还注意到图书馆似乎已经有一段时间没有人动过了。我认为所有者已经放弃了它,它需要更新以匹配IDE和相关库的最新版本。如果我在春天回到它,并找到一个解决方案,我会把它贴在这里。否则,如果你有任何进展,请告诉我。