You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在if条件中使用Arduino串口数据并执行指定代码?

问题解决

你的代码核心问题是错误使用Console.ReadLine()获取Arduino的响应——这个方法是读取你在控制台手动输入的内容,并非串口接收到的Arduino数据。你已经通过port.ReadLine()拿到了Arduino发来的内容,直接用这个变量做判断即可。

修正后的代码:

string ArduinoResponse = port.ReadLine();
Console.WriteLine(ArduinoResponse); // 打印串口数据方便调试
if (ArduinoResponse?.Trim() == "WARNING!") // 加?避免空引用,Trim去掉换行/空格干扰
{
    // 这里写入你要执行的函数
}

额外注意点:

  • Arduino端发送数据时,要使用Serial.println("WARNING!")(带换行符),这样port.ReadLine()才能正确读取完整的一行内容。
  • 串口传输可能附带多余的换行、空格或制表符,用Trim()可以清除这些干扰字符,避免判断逻辑失效。

内容的提问来源于stack exchange,提问作者Wil Fred

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 10:05:32