我正在尝试将arduino Mega板连接到Arduino Nano,我将它们连接如下:
MeAuriga | Nano
GND | GND
TX | RX
RX | TX
Mega是接收器,代码在这里:
char mystr[10]; //Initialized variable to store recieved data
void setup() {
// Begin the Serial at 9600 Baud
Serial.begin(9600);
}
void loop() {
Serial.readBytes(mystr,5); //Read the serial data and store in var
Serial.println(mystr); //Print data on Serial Monitor
delay(1000);
}
还有发送方Nano的代码:
char mystr[5] = "Hello"; //String data
void setup() {
// Begin the Serial at 9600 Baud
Serial.begin(9600);
}
void loop() {
Serial.write(mystr,5); //Write the serial data
delay(1000);
}
发生的事情: 当我在nano上将它们连接在一起时,我只是在串行监视器上获得Hello的打印,而断开电缆的连接也不会影响它继续打印问候。
大型串行监视器为空白。
任何帮助将不胜感激。
编辑: 我将Serial.readBytes更改为Serial1.readBytes,但我没有将nano连接到USB,而是通过VIN供电。我只有USB连接到Mega。我确实在针18和19上连接了nano
答案 0 :(得分:0)
问题在这里:
void loop() {
Serial.readBytes(mystr,5); //Read the serial data and store in var
Serial.println(mystr); //Print data on Serial Monitor
delay(1000);
}
您没有串行监视器了!
如果您使用RX / TX,则也无法连接USB电缆,因为该电缆用于与Nano通讯。
如果您的Arduino上有2个串行端口(巨型端口有4个):
|COM|PIN RX|PIN TX|
| 0 | 0 | 1 |
| 1 | 19 | 18 |
| 2 | 17 | 16 |
| 3 | 15 | 14 |
Serial
用于终端(通过USB电缆),另外3个可用于连接Nano。只需写Serial1.readBytes
,而不是Serial.readBytes
。
如果没有任何串行端口,则可以使用SoftwareSerial
库。
答案 1 :(得分:0)
我通过同时启动两者来修复它。
巨型
char mystr[10]; //Initialized variable to store recieved data
void setup() {
// Begin the Serial at 9600 Baud
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
Serial1.readBytes(mystr,5); //Read the serial data and store in var
Serial.println(mystr); //Print data on Serial Monitor
delay(1000);
}