草庐IT

WPF 调用 ECAN 发送数据会阻塞的解决过程

接了个活,写个WPF上位机用PCAN或ECAN和单片机通讯,读取传感器数据.程序逻辑是:选择连接类型PCAN/ECAN,选择波特率,选择通道号,输入查询间隔,连接设备.然后开启一个后台线程循环发送读取指令逐个读取传感器数据.使用PCAN时,连接和收发数据都正常,但改为ECAN连接后,有很大几率卡在SDK的发送函数那.查看厂商提供的WinFormdemo,有调用界面定时器来收发数据和在后台开线程来收发数据两种,我把在后台开线程收发的Demo改成了程序的收发逻辑,测试发现也会卡在SDK的发送函数那里,我就把在线程里收发数据改成了调用UI线程收发数据1DimresultAsBoolean2MainW