我正在使用带有Arduino Mega的GSMSHIELD库,我在两个不同的系统上遇到以下错误。
/ Users / ----- / Documents / Arduino / libraries / GSMSHIELD / SIM900.cpp:在成员函数'int SIMCOM900 :: configandwait(char *)'中: /Users/-----/Documents/Arduino/libraries/GSMSHIELD/SIM900.cpp:62:18:错误:'class 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>
我不能为我的生活找出为什么这不会编译,除非它是一个Arduino开发系统版本(1.6.9)问题......
我没有找到关于编写/测试库的IDE版本的任何信息。
有什么想法吗?
答案 0 :(得分:0)
请务必取消注释HWSerial.h
中从//#define MEGA
到#define MEGA
的第一行
有两个地方可以取消注释define
,以便您使用Mega而不是Uno board。这是GSM.h
和HWSerial.h
!