⑴ C#里串口通讯,怎样引发超时等待错误呢

本来串口数据就是有了处理,没有不处理啊。如果你要发送等待回应的话,就可以开一个定时器,发送数据后打开定时器,超时在定时器里面处理,成功收到回应的话关闭定时器就好了

⑵ 信捷PLC与笔记本连接提示串口通讯超时错误是什么问题

物理系统机器都不太容易搞定

还虚拟机

建议试一试物理系统,别用 虚拟机

⑶ 做串口通信时,接收需要做超时检测吗

楼上回答的是检测一帧数据是否接收完成。例如modbus协议,因为没有包头包尾不知道该帧版是否接收完成权,一般采用超时方式。如果协议是你自己定义的,最好每帧具有包头和包尾,当我收到包头说明有数据过来,收到包尾说明该帧理论上收完了。但是各种外部和内部原因,超时和包头包尾都不是绝对。如果发送端发送一帧数据,发送一半由于各种原因暂停了一会或者接受端不知什么原因只能收一半,此时的超时就无法证明收完,包头包尾也是如此。因此需要加入数据校验(校验和或CRC等)。
说了那么多废话,说正题。接收超时应根据自己实际应用加入,现在大多数都是硬件中断接收,一进中断就将数据拷到接收缓存中,等有空再处理这些数据就可。但是如果利用循环查询时,最好加入超时,让接收函数能够在一段时间内持续检测是否有数据过来。