首页 > Windows开发 > 详细

C#串口关闭SerialPort.Close()导致的卡死

时间:2019-09-16 19:06:11      阅读:448      评论:0      收藏:0      [点我收藏+]

https://blog.csdn.net/fengda2870/article/details/51554838
上面的链接给出了提示: 将Invoke变为BeginInvoke。

亲测可行。

        private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            if (this.InvokeRequired)
            {
                this.BeginInvoke(new DataReceived(SerialPort_DataReceived), sender, e);   //DataReceived为代理类型
                return;
            }

            if (!SerialPortRuning)
            {
                SerialPortRuning = true;
                try
                {
                    // 接收串口数据
                }
                catch (Exception ex)
                {
} finally { SerialPortRuning = false; } } }

 

下面还有一篇关于串口相关的介绍:
C# 串口操作系列(2) – 入门篇,为什么我的串口程序在关闭串口时候会死锁 ?

 

出处:https://blog.csdn.net/qq_27508477/article/details/87719668

 

C#串口关闭SerialPort.Close()导致的卡死

原文:https://www.cnblogs.com/mq0036/p/11528639.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!