axMSComm接医疗设备的串口问题,非常急!!!!!!!
axMSComm串口问题,连接医疗设备,一般医疗设备传完的数据都有一个结尾字符”“,但有时候数据接的很完整但是有的时候他又指接收到一半有时候又一口气传过来2条,后来我下载的一个小程序测试的时候每次都是很完整,怎么样才能一次性接到他传的每一条完整的数据,非常急!!!!!!public void GetComm()
{
if (this.axMSComm1.PortOpen == true)
{
this.axMSComm1.PortOpen = false;
}
axMSComm1.RThreshold = 1;// 接受数据的长度
this.axMSComm1.Settings = "9600,n,8,1";//得到波特,停止位,校验方式
this.axMSComm1.InputLen = 0;//一次从接收缓冲区中读取字节数,
axMSComm1.InBufferCount = 0;//清空输入缓冲区
axMSComm1.OutBufferCount = 0;//清空输出缓冲区
axMSComm1.PortOpen = true; //打开端口
}
string dataAEROSET = "";
private void axMSComm1_OnComm(object sender, EventArgs e)
{
axMSComm1.InputMode = MSCommLib.InputModeConstants.comInputModeText;//以文本形式接收数据
dataAEROSET += axMSComm1.Input.ToString();
if (dataAEROSET.IndexOf("") > -1)
{
OnchangedText1(dataAEROSET);
Thread th = new Thread(new ParameterizedThreadStart(showData));
th.Start(dataAEROSET);
}
} --------------------编程问答-------------------- 高手问题!!!
观望中^^ --------------------编程问答--------------------
能确定 他每次传过来的数据 都是正常的吗》
--------------------编程问答-------------------- 可以用在接收数据的时候,休眠线程100ms,确保能读完数据
--------------------编程问答-------------------- 用SerialPort来处理数据,调用
string value = ReadTo(""); --------------------编程问答-------------------- 最先开始玩的是SerialPort控件,但是这个完全不行,有的设备连反应都没有事件都不激发,后来就用axMSComm控件的还有个TurboPower我不会玩,所以请教各位高手了,现在又发现一个新问题了axMSComm1.Output = "O 00000029 1 29 1 31 431 41 331 5120101211215829 ";既然发到设备他没有反应,用别的测试控件发这个就很好,我不知道什么个意思。刚玩不久,谢谢那位大侠指点下········
--------------------编程问答-------------------- 休眠也控制不了,不过用程序控制好了,试了一天,主要是新手,里面的属性很多都不知道到低是干嘛用的
今天算了弄明白了几个
补充:.NET技术 , C#