读书人

使用串口通信出现的有关问题!

发布时间: 2012-03-17 19:06:28 作者: rapoo

使用串口通信出现的问题!急!
最近使用COMPORT控件的时候(COMMLIB)出现了几个问题。1)我需要把传回来的字符串分割,有些部分要转换成浮点数,但是偶尔会出现接收的数据出错无法转换成浮点数比如0.0S之类的,请问如何避免?只要是如果无法转换就跳过就行,我用TRY好像也不行。2)在使用串口快速传数据的时候我用#10作为接收判断字符,可是经常到了一个字符串结束的时候还会接收到下一个字符串的几个字节,比如发送字符串为001,1/2,0.0,3,08:20,08:20,0,0.0,-0.0,0.0,2007,9,17和001,1/2,0.0,0.0,0.0,接收上来就成了001,1/2,0.0,3,08:20,08:20,0,0.0,-0.0,0.0,2007,9,1700和001,1/2,0.0,0.0,0.0,我用别的字符做接收字符也这样,真不知道这么处理。请大侠指教。
PS:字数有点多,请大家耐心看下,谢谢了

[解决办法]
1 try except应该可以,在调试环境如果language exception打开,无法转换也会弹出对话框,直接运行exe文件应该没问题
2 只能自己控制了,如果使用事件的方式接收数据,就必须使用缓冲区来存放分隔符以后的数据;如果是使用查询的方式则可以一个字符一个字符的读取,读到分隔符时就处理数据,当然也可以用缓冲区的方式

读书人网 >.NET

热点推荐