此代码:
#include "SoftwareSerial.h">
#include <avr/io.h>
#include <HardwareSerial.h>
#include <avr/interrupt.h>
void read_response();
int main () {
sei();
Serial.begin(2400);
uint8_t receivePin = 2;
uint8_t transmitPin = 3;
SoftwareSerial softSerial(receivePin, transmitPin);
softSerial.begin(2400);
while(1){
softSerial.println("to soft serial");
Serial.print(softSerial.read());
}
}
在编译时给我这个错误:
undefined reference to `SoftwareSerial::SoftwareSerial(unsigned char, unsigned char, bool)'
我尝试过使用#include“SoftSerial.h”,但没有区别。 SoftSerial.h和SoftSerial.cpp文件位于我的库文件夹中,其中HardwareSerial.h文件也驻留在该文件夹中。
我缺少什么?
答案 0 :(得分:5)
这不是编译错误。这是链接器错误。
如果SoftSerial是您自己项目的一部分,则CPP文件可能不是已编译项目的一部分。 如果是外部库,则需要链接到它。如何操作取决于您的IDE /编译器。