【问题标题】:Sending Command from C# Windows form to a microController via serial port通过串口从 C# Windows 窗体向微控制器发送命令
【发布时间】:2011-10-19 14:17:30
【问题描述】:

我正在尝试通过串行端口将命令从用 C# 制作的 Windows 窗体应用程序发送到微控制器。

消息字符串正确传递,但问题是微控制器永远不会应用命令,除非您按 Enter,我似乎无法以任何方式模拟 Enter 按下。

我尝试将"\r\n" , "\n" and Environment.NewLine 附加到消息字符串中,但没有成功,我该怎么办?

【问题讨论】:

  • “我该怎么办?” - 发布您的代码...
  • 你用来发送命令的代码是什么?
  • 按回车不会神奇地导致任何东西被发送到串行端口。在您的应用程序中有 somewhere 的代码正在获取该按键并对其进行操作。第 1 步)找出那是什么

标签: c# winforms serial-port microcontroller


【解决方案1】:

不要在消息中添加新行,而是尝试在发送消息后立即单独发送命令。有关一些见解,请参阅此 SO question and answers。尤其是 Kibbee 的回答:

serial.Write(new byte[]{13,10}, 0, 2);

处理字符串时的一个常见过程是在某些时候修剪它们(删除前导和尾随空格。)单独发送新行可以解决这个问题,但它也可能最终成为黑客攻击。首先检查 make 以查看您的消息字符串是否被修剪。删除修剪代码(如果存在)将是更好的解决方案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-03
    • 1970-01-01
    相关资源
    最近更新 更多