Arduino串口,数据未到达

Posted

技术标签:

【中文标题】Arduino串口,数据未到达【英文标题】:Arduino Serial Port, data don't arrive 【发布时间】:2015-10-24 17:43:50 【问题描述】:

我的 Arduino (Yun) 有问题 基本上我希望电路板与 C# 程序通信其数据 在 Arduino 上加载这个:

int Loop=0;
void setup() 
    Serial.begin(9600);

void loop() 
    Serial.println(" Data loop = " + String(Loop));
    Loop++;
    delay(500);

这是 C# 代码:

SerialPort ArduinoSerial = new SerialPort("COM7", 9600);
ArduinoSerial.Open();
while (true)

    string data= ArduinoSerial.ReadLine();
    Console.WriteLine(a);

每次我启动程序都会发生一些不可预测的事情 有时什么也没写,有时是这样: 5 6 7 10 _ 但为什么?有时数据丢失,有时没有“到达”任何东西 尝试使用串行监视器 (puTTY) 数据的模拟器到达 那么为什么?我哪里错了?

【问题讨论】:

嗯.. 这是 LF/CRLF 的东西吗? 你能检查一下实际收到的数据吗?在数据流中查找 0x0d 或 0x0A。哪个字节导致了问题? 您是否尝试过先启动 C# prog 并重置 Arduino?垃圾可以分包。 一个明显的测试是获得类似putty(你想要putty.exe)的东西,并确保你的arduino实际上正在发送有意义的数据/根本 【参考方案1】:

换行: Console.WriteLine(a);

到 Console.WriteLine(数据);

应该有帮助!

【讨论】:

以上是关于Arduino串口,数据未到达的主要内容,如果未能解决你的问题,请参考以下文章

读取 Arduino 的串口

arduino用来发送串口数组

Arduino串口读取

arduino如何串口输出变量的值

arduino串口接收的问题

关于Arduino的串口中断