1

这段代码:

#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 文件所在的库文件夹中。

我错过了什么?

4

1 回答 1

5

这不是编译错误。这是一个链接器错误。

如果 SoftSerial 是您自己项目的一部分,则 CPP 文件可能不是已编译项目的一部分。如果是外部库,则需要链接到它。你如何做到这一点取决于你的 IDE/编译器。

于 2012-10-10T14:05:30.100 回答