为什么我每次关闭串口 都会产生IOEXCEPTION错误 本帖最后由 hollandjzy 于 2011-10-09 12:49:05 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关闭串口时,可能ataReceived中正在进行ReadLine操作关闭前要释放资源,清空缓存 private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { if(!sp.IsOpen)return; bufferReciver = bufferReciver + serialPort1.ReadLine(); } 为什么我在关闭串口的时候 会产生 DATAReceived 事件呢 关闭的时候datareceive已经触发正在执行 可以试试 private void buttonOpenClose_Click(object sender, EventArgs e) { if (serialPort1.IsOpen) { //关闭串口前停止发送和接收,释放资源 buttonOpenClose.Text = "打开"; serialPort1.Close(); } } 我自己找到原因了 是READLINE 没有读到结束符 他就一直在停留在READLINE了 主板上集成的串口 与 USB转COM线的转出来的串口 有这样的区别? 想设置第四列为两为小数的数值 保存的代码太多,还可以优化吗 关于强名称和混淆器问题 给我介绍一个C#下的打印控制啊. 数据集问题,请高手指点! 水晶报表问题 正则表达式如何按“|”分割字符串 Cookie: why i can't use cookie? 问微软专家:关于Windows 服务应用程序问题 网页的树形菜单如何实现(图) 哪里有DXPerience 10.1.4 下载
关闭前要释放资源,清空缓存
{
if(!sp.IsOpen)return;
bufferReciver = bufferReciver + serialPort1.ReadLine(); }
{
if (serialPort1.IsOpen)
{
//关闭串口前停止发送和接收,释放资源
buttonOpenClose.Text = "打开";
serialPort1.Close();
}
}