设为首页 | 加入收藏

  

cserialport控件做串口助手自动扫描出2个串口打开没接设备的发送

发布日期:2019-08-15 01:46   来源:未知   阅读:

  六合采今晚开奖直播!c#serialport控件做串口助手,自动扫描出2个串口,打开没接设备的串口,发送接收数据事件时会卡死。

  百度知道电脑/网络编程语言/nav

  c#serialport控件做串口助手,自动扫描出2个串口,打开没接设备的串口,发送接收数据事件时会卡死。

  台式机,自带一个COM1串口,我通过USB转串口扩了一个,用SerialPort.GetPortNames()扫描出COM1和COM4,因为我设备是接在COM4上面的,但是呢,选择COM1,然后单击一个“打开串口”按钮...

  台式机,自带一个COM1串口,我通过USB转串口扩了一个,用SerialPort.GetPortNames()扫描出COM1和COM4,因为我设备是接在COM4上面的,但是呢,选择COM1,然后单击一个“打开串口”按钮,一样可以打开COM1。我现在想做个处理:因COM1上没有连接设备,所以当我尝试打开这个串口时,能弹出一个错误提示框,不知道怎么做。请高手详解,最好是有代码。

  (我想过的一个处理方法就是,在点击“打开串口”时,发送一个数据出去,然后检查串口接收到的数据,如果能接受到正确的识别数据,那么就正常连接,否则,弹出“串口连接异常”对话框。可能自己水平不够,没有试验成功。)

  求高手指点,不甚感激。如果能详加指点串口设计,愿以物质换取,我对这个很感兴趣。展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部没有这样的检测技术,因为不同外设虽然都用串口协议,但是对于不同的输入,即使外设链接上了也不一定会有返回数据,而串口本身并没有自检的功能,所以串口只能被打开,无法准确知道是否有外设连上了,即使楼上说的用超时也不行追问我也是因为下载了一个串口调试助手,发现那哥们的设计很好。

  举个例子,我COM1空着的,我故意选它,然后开始通讯,然后就会弹出一个错误提示对话框。

  你说的开始通讯是指向串口写入东西是吧,这个的话用写入超时来做,定义串口的WriteTimeout属性,你可以设定为5000(即5秒),当超过5秒仍未成功写入的话,提示写入失败



上一篇:豚字右半边读什么? 下一篇:第二届中国环境科学学会青年科学家奖获奖人员公告