最近小弟在做一个读串口的小东西,串口是USB转的虚拟串口,使用的C#中的SerialPort组件进行串口操作,但是遇到一个很头疼的问题就是:读数据的时候不知道什么原因就会出现整个系统卡死的问题,并且这个问题的出现好像是随机的,操作系统完全不响应,只能硬关机,很是郁闷,但是开发商给的一个Demo程序没这个问题,我用自己写的那个程序在本机的COM1口进行数据收发也没这个问题!不知道各位有没有相同的遭遇,有知道问题出在哪,用什么方法解决的吗?
调试欢乐多
后来用OCX方式解决的。
把你的winform程序改为console.
把所有的操作步骤打印控制台。要运行窗口。showdialog 就可以。
一般这样的问题都是太快的循环读取引起的。
2. 硬件接口:
USB 转 232接口。
3. 接口协议:
通讯速率:14400 bps
数据格式:8位数据+1位停止位
4. 关于USB接口的说明:
驱动程序安装:首先解压缩附带的driver.rar文件,然后运行setup.exe安装驱动程序。
驱动程序安装后,在计算机上生成一虚拟 COM 接口 ,编写应用程序时将通讯口设置为虚拟 COM 口。
本模块232虚拟接口采用5线制(GND.RX.TX.DTR..RTS)通讯。编写应用程序时,应设置DTR 与 RTS 为0
5. 主机串行通信协议:
启动采样:发送 0x20
停止采样:发送 0x31
接收数据序列(AD转换数据有效位:10位):
字节0 字节1 字节2 字节3
起始标志:0x20 脉搏/呼吸AD转换低8位 脉搏/呼吸AD转换高2位 0x00