"); //-->
/////////////////////////////////////////////////串口开启程序/////////////////////////////
DisableBreakOnLibraryErrors();
RS232Error =OpenComConfig (comport, "", baudrate, parity,databits, stopbits, inputq, outputq);
EnableBreakOnLibraryErrors();
if(RS232Error ==0)
{MessagePopup("RS232信息:","端口打开成功");}
if (RS232Error==-1)
MessagePopup("RS232信息:","未知的系统错误");
if (RS232Error==-2)
MessagePopup("RS232信息:","端口号无效");
if (RS232Error==-3)
MessagePopup("RS232信息:","端口无法打开");
if (RS232Error==-4)
MessagePopup("RS232信息:","未知的I/O错误");
if (RS232Error==-6)
MessagePopup("RS232信息:","没有发现串行端口");
if (RS232Error==-7)
MessagePopup("RS232信息:","无法打开端口");
if (RS232Error==-1)
MessagePopup("RS232信息:","未知的系统错误");
另外,CVI中就是通过OpenCom()、OpenComConfig()的返回值来判定串口的状态!
<!--[if !supportLists]-->1、 <!--[endif]-->串口打开后,在使用中一般不会出现连接等硬件错误;
2、可以通过通讯协议用软件方法判定串口通讯是否正确;
3、一定要每次发送都判定串口状态的话,请使用GetComConnectionState (int portNumber)函数!
<!--[if !supportLists]-->2、 <!--[endif]-->GetCommStat()返回指定串口的信息,为两个字节的十六进制数,每个位代表不同的状态信息。但是不建议使用它:使用它虽然能够知道串口是否发生错误,但通过返回值却并不能具体知道究竟是什么错误(这可能是NI自己的一个bug吧——窃以为。
(2)//清除串口中以前的数据 FlushOutQ(Serial_num);
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。