【发布时间】:2013-08-28 07:26:55
【问题描述】:
我希望通过可用的 UART 端口将串行数据从 Arduino Uno 发送到 Arduino Nano。
在 Nano 端接收数据时,我必须检查数据是否与“a”或“b”匹配。如果是这样,我必须将数据发送回 Uno。
我在 Nano 端使用了以下代码:
void GMP_OutputSerial(void)
{
if(Serial.available()) // Check if serial data is avaiable
{
unSerialAvailable = Serial.read(); // Read the data if serial data is available
if(unSerialAvailable == 'A' || unSerialAvailable == 'B' || unSerialAvailable == 'a' || unSerialAvailable == 'b') // Proceed only if available data is equal to A or B
{
/*
if(g_stSensorParms.stAppParms.unFinalDistance > 80 || g_stSensorParms.stAppParms.unFinalDistance < 0)
{
Serial.println("Distance: Out of range");
}
else
{
*/
Serial.print("Distance: "); // Output Distance text on the serial monitor
Serial.println(g_stSensorParms.stAppParms.unFinalDistance); // Output the actual distance on the serial monitor
}
}
}
Uno 方面:
void loop()
{
Serial.write(a);
delay(1);
}
但是,我没有看到任何通信发生。两块板的电源来自外部电源 = 5V。
Uno 的 TX 线连接到 Nano 的 RX 线,反之亦然。
我做错了什么?
【问题讨论】:
-
“我看不到任何通信发生。” -- 您可能只是表示您没有看到预期数据的接收。 “通信”包括传输和接收。您可能还没有检查传输。您可以在 Uno'x TxD 引脚上使用“示波器”,或者按照@Keroronsk 的建议嗅探端口。
标签: serial-port arduino uart