我用ide版本1.6.3,下载了一个HMC5883L.h的库,一开始找不到WProgram.h,后来把库文件中HMC5883L.cpp中WProgram.h改成Arduino.h提示以下
Arduino:1.6.3 (Windows 7), 板:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
使用库 Wire 在文件夹: C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire
使用库 HMC5883L 在文件夹: C:\arduino-1.6.3\libraries\HMC5883L (legacy)
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HHMC5883L_Example_Ansifa.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HHMC5883L_Example_Ansifa.cpp.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\Wire.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\Wire\Wire.cpp.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility\twi.c -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\Wire\utility\twi.c.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\libraries\HMC5883L\utility C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HMC5883L\HMC5883L.cpp.o
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp: In member function 'void HMC5883L::Write(int, int)':
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:110:8: error: 'class TwoWire' has no member named 'send'
Wire.send(address);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:111:8: error: 'class TwoWire' has no member named 'send'
Wire.send(data);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp: In member function 'uint8_t* HMC5883L::Read(int, int)':
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:118:8: error: 'class TwoWire' has no member named 'send'
Wire.send(address);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:129:22: error: 'class TwoWire' has no member named 'receive'
buffer[i] = Wire.receive();
^
编译有误。
完全不知道为啥?
Arduino:1.6.3 (Windows 7), 板:"Arduino Mega or Mega 2560, ATmega2560 (Mega 2560)"
使用库 Wire 在文件夹: C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire
使用库 HMC5883L 在文件夹: C:\arduino-1.6.3\libraries\HMC5883L (legacy)
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HHMC5883L_Example_Ansifa.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HHMC5883L_Example_Ansifa.cpp.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\Wire.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\Wire\Wire.cpp.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-gcc -c -g -Os -w -ffunction-sections -fdata-sections -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility C:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire\utility\twi.c -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\Wire\utility\twi.c.o
C:\arduino-1.6.3\hardware\tools\avr/bin/avr-g++ -c -g -Os -w -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -MMD -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10603 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -IC:\arduino-1.6.3\hardware\arduino\avr\cores\arduino -IC:\arduino-1.6.3\hardware\arduino\avr\variants\mega -IC:\arduino-1.6.3\hardware\arduino\avr\libraries\Wire -IC:\arduino-1.6.3\libraries\HMC5883L -IC:\arduino-1.6.3\libraries\HMC5883L\utility C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp -o C:\Users\hangmo\AppData\Local\Temp\build5274242384394233554.tmp\HMC5883L\HMC5883L.cpp.o
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp: In member function 'void HMC5883L::Write(int, int)':
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:110:8: error: 'class TwoWire' has no member named 'send'
Wire.send(address);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:111:8: error: 'class TwoWire' has no member named 'send'
Wire.send(data);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp: In member function 'uint8_t* HMC5883L::Read(int, int)':
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:118:8: error: 'class TwoWire' has no member named 'send'
Wire.send(address);
^
C:\arduino-1.6.3\libraries\HMC5883L\HMC5883L.cpp:129:22: error: 'class TwoWire' has no member named 'receive'
buffer[i] = Wire.receive();
^
编译有误。
完全不知道为啥?