Dmonke 发表于 2013-7-17 17:34:32

software serial 例程编译错误

arduino版本是1.0.5,为什么software serial例程都会编译错误呢?
例程如下:
/*
Software serial multple serial test

Receives from the hardware serial, sends to software serial.
Receives from software serial, sends to hardware serial.

The circuit:
* RX is digital pin 10 (connect to TX of other device)
* TX is digital pin 11 (connect to RX of other device)

Note:
Not all pins on the Mega and Mega 2560 support change interrupts,
so only the following can be used for RX:
10, 11, 12, 13, 50, 51, 52, 53, 62, 63, 64, 65, 66, 67, 68, 69

Not all pins on the Leonardo support change interrupts,
so only the following can be used for RX:
8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).

created back in the mists of time
modified 25 May 2012
by Tom Igoe
based on Mikal Hart's example

This example code is in the public domain.

*/
#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX

void setup()
{
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
}


Serial.println("Goodnight moon!");

// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}

void loop() // run over and over
{
if (mySerial.available())
    Serial.write(mySerial.read());
if (Serial.available())
    mySerial.write(Serial.read());
}

错误显示:
d:/program/arduino/hardware/tools/avr/bin/..b/gcc/avr/4.3.2/../../../../avrb/avr6/crtm2560.o: In function `__vector_default':
(.vectors+0xdc): relocation truncated to fit: R_AVR_13_PCREL against symbol `__vector_55' defined in .text.__vector_55 section in core.a(HardwareSerial.cpp.o)

谢谢各位大神!

Dmonke 发表于 2013-7-17 18:37:59

知道为什么了,把板子型号选为nano 328就可以了,可能是因为mega 2560上的11口为pwm口,而不是数字口~
页: [1]
查看完整版本: software serial 例程编译错误