串口通信捕获“连接到系统上的设备未发挥作用”异常

80donet 80donet 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
if (Sp1.IsOpen)
{
Sp1_IsTryToClosePort = true;
while (Sp1_IsReceiving) Application.DoEvents();
Sp1.Close();
}
else
{
return;
}


if (Sp.IsOpen)
{
Sp_IsTryToClosePort = true;
while (Sp_IsReceiving) Application.DoEvents();
Sp.Close(); }
else
{
return;
}

this.Hide();
frmPrint frmDY = new frmPrint();
frmDY.Show();
以上这段代码放在定时器中关闭串口时会在Sp.Close(); 处卡死程序,放在button按钮中关闭就正常的,请各位高手不吝赐教!!!

private void timer2_Tick(object sender, EventArgs e)
{
if (Infoflag == 0)
{
#region
Byte[] YData = { 0x02, 0x30, 0x30, 0x45, 0x34, 0x30, 0x30, 0x31, 0x03, 0x36, 0x44 };
Sp1.Write(YData, 0, 11);
#endregion
}
if(Infoflag ==1)
{
#region
Byte[] XData = { 0x02, 0x30, 0x30, 0x30, 0x38, 0x30, 0x30, 0x32, 0x03, 0x35, 0x44 };
Sp1.Write(XData, 0, 11);
#endregion
}
if(Infoflag ==2)
{
#region
Byte[] YData = { 0x02, 0x30, 0x30, 0x30, 0x41, 0x30, 0x30, 0x31, 0x03, 0x36, 0x35 };
Sp1.Write(YData, 0, 11);
#endregion
}
if (Infoflag ==3)
{
#region
Byte[] MData = { 0x02, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x31, 0x03, 0x35, 0x35 };
Sp1.Write(MData, 0, 11);
#endregion
}
if (Infoflag == 4)
{
#region
Byte[] YData = { 0x02, 0x37, 0x30, 0x35, 0x30, 0x35, 0x03, 0x30, 0x34 };
Sp1.Write(YData, 0, 9);
timer2.Enabled = false;
#endregion
}
if (Infoflag == 5)
{
#region
Byte[] MData = { 0x02, 0x37, 0x30, 0x34, 0x30, 0x38, 0x03, 0x30, 0x36 };
Sp1.Write(MData, 0, 9);
#endregion
}

}
在定时器中放了几条指令,50ms间隔一次,是一发一收的格式,偶尔还会出现“连接到系统上的设备未发挥作用”异常,就会卡在Sp1.Write(...)这边不知道是什么原因.
...全文

相关推荐

安卓串口通信—接收以及发送

安卓串口通信—接收以及发送,安卓平台下的串口通信Demo,兼顾发送以及接收功能,经测试都已经成功完美完成上述功能要求。

M1_x1u

C#进行串口应用开发如何捕获串口通信接口的异常错误信息

通过以上示例代码和详细分析,您可以了解如何在C#中进行串口通信时捕获和处理可能的异常。通过同步和异步两种方式实现串口通信,可以根据具体需求选择合适的方法。同时,完善的错误处理机制能够提高程序的稳定性和可靠性。好的,继续深入探讨串口通信的一些高级用法和最佳实践。

openwin_top

Python串口通信实战:数据收发与设备交互详解

串口通信是一种通过串行接口逐位传输数据的通信方式,广泛应用于计算机与嵌入式系统、传感器、工业设备之间的数据交互。其核心优势在于实现简单、成本低廉、适用于远距离通信。在现代物联网与自动化系统中,串口通信仍然是连接微控制器(如Arduino、STM32)与上位机(如PC或服务器)的关键桥梁。Python作为一门语法简洁、生态丰富的编程语言,凭借其跨平台特性和强大的社区支持,在串口通信开发中表现出色。借助如pySerial。

土城三富

串口数据捕获工具

很实用的串口数据捕获工具,用于查看串口协议

曦43

Delphi 串口通信 编程资料

详细介绍了Delphi串口通信,含有大量的源代码和详细的说明。

贝隆
评论 11
收藏 已收藏
分享
返回顶部
80donet
C# 111,129 成员 642,538 内容