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 に答える