您好,欢迎来到华佗养生网。
搜索
您的当前位置:首页LabWindowsCVI串口通信函数

LabWindowsCVI串口通信函数

来源:华佗养生网


LabWindows/CVI串口通信函数

LabWindows/CVI提供的RS-232函数库主要包括以下几类函数:串行口打开/关闭 (Open/Close)函数,串行口输入/输出(Input/Output)函数,串行口控制(Control)函数,串行口状态查询(Status)函数和串行口事件处理(Callbacks)函数。下面分别予以介绍。

1.串行口打开/关闭函数

1)OpenCom函数

功能:表示以默认的参数设置方式打开一个串口。该函数原型为:

int OpenCom (int COM_Port,char Device_Name[ ] )

其中,参数COM_Port为整型变量,用于指定串口号,有效范围为1~1000;

Device_Name[]为字符型数组,是用ASCⅡ码字符串表示的串口名。

2)OpenComConfig函数

功能:用来打开一个串行口并进行相关的参数设置。该函数原型为:

int OpenComConfig(int COM_Port,char Device_Name[],long Baud_Rate,int Data_Bits,int Stop_Bits,int Input_Queue_Size,int Output_Queue_Size)

1

Parity,int

其中,参数COM_Port为整型变量,用于指定串口号,有效范围为1~1000;

Device_Name[]为字符型数组,是用ASCⅡ码字符串表示的串口名。例如,以“COM1”来代替端口1,如果输入值为NULL或一个空字符串,则以COM_Port号作为指定端口号。

Baud_Rate为长整型变量,用来设置串行口的传输速率,标准的传输速率有110、300、600、1200、2400、4800、9600、19200b/s等;默认值为9600。

Parity为整型变量,用来指定奇偶校验模式。0表示无奇偶校验,1表示奇校验,2表示 偶校验;

Data_Bits为整型变量,用来指定每帧信息中数据位的个数,可选5、6、7、8;

Stop_Bits为整型变量,用来指定每帧信息中停止位的个数,可选1、1.5或2;

Input_Queue_Size为整型变量,用来指定串行口输入队列的大小;

Output_Queue_Size为整型变量,用来指定串行口输出队列的大小。

3)CloseCom函数

功能:用来关闭一个串行口。该函数原型为:

int CloseCom(int COM_Port)

2

其中,参数COM_Port用于指定端口号。

2.串行口输入/输出函数

1)ComRd函数

功能:用来从指定端口读取字符并存放到缓冲区中。该函数原型为:

int ComRd(int COM_Port,char Buffer[ ],int Count)

其中,参数COM_Port用于指定端口号;

Buffer[ ]为字符型数组,用来存放读取出的字符串;

Count为整型,表示要读取的字符串的长度。

2)ComRdByte函数

功能:用来从指定串行口的输出队列读取一个字节的信息。该函数原型为:

int ComRdByte(int COM_Port)

其中,参数COM_Port用于指定端口号。

3

3)ComWrt函数

功能:用来向指定串行口的输出队列写入若干字节的信息。该函数原型为:

int ComWrt (int COM_Port,char Buffer[ ],int Count)

其中,参数Buffer[ ]为字符型数组,用来存放要发送的字符串;

Count为整型,表示要发送的字符串的长度。

4)ComWrtByte函数

功能:用来向指定串行口的输出队列写一个字节的信息。该函数原型为:

int ComWrtByte(int COM_Port,int Byte)

其中,参数Byte为整型,表示要发送的低位字节。

5)ComToFile函数

功能:用来从串口的输入队列读取数据,并将数据写入一个文件中,返回成功写入文件的字节数。该函数原型为:

4

int ComToFile(int COM_Port,int File_Handle,int Count,int Termination_Byte)

其中,参数File_Handle表示从Open_File得到的文件句柄;

Count表示写入文件终止的条件之一,写入count个字节数;

Termination_Byte表示写入文件终止的条件之一,遇到终止字节。

6)ComFromFile函数

功能:读取指定文件并写入COM端口的输出队列。该函数原型为:

int ComFromFile(int COM_Port,int File_Handle,int Count,int Termination_Byte)

其中,参数File_Handle表示文件句柄。

Count表示从指定端口所能读取的最大字节数;

Termination_Byte表示写入文件终止的条件之一,遇到终止字节。

7)ComRdTerm函数

功能:用来从串行口读取数据,直到遇到终止条件为止。该函数原型为:

5

int ComRdTerm (int COM_Port,char Buffer[ ],int Count,int Termination_Byte)

参数说明同上。

3.串行口控制函数

1)FlushInQ函数

功能:用来清空指定串行口的输入队列字符。该函数原型为:

int FlushInQ(int COM_Port)

2)FlushOutQ函数

功能:用来清空指定串行口的输出队列。该函数原型为:

int FlushOutQ(int COMPort)

3)SetComTime函数

功能:用来设置串行口输入/输出操作的时间,超过设定时间,提示出错信息,终止当前操作。该函数原型为:

6

int SetComTime(int COM_Port,double Timeout_Seconds)

其中,参数timeoutSeconds表示时间。

4)SetXMode函数

功能:表示是否允许软件握手。默认情况下为禁止软件握手。如果串口没有打开或者输入无效参数,则会返回一个错误。函数原型为:

int SetXMode (int COM_Port,int Mode);

其中,参数Mode的默认值为0,禁止软件握手;1表示允许软件握手。

5)SetCTSMode函数

功能:表示是否允许硬件握手。默认情况为禁止硬件握手。函数原型为:

int SetCTSMode(int COM_Port,int Hardware_Handshanking)

其中,参数Hardware_Handshanking为硬件握手模式。有三种模式,0为禁止硬件握手,忽略CTS信号,RTS和DTR信号高电平有效;2为允许硬件握手,CTS控制发送,RTS为握手信号,DTR为高电平。

7

6)ComBreak函数

功能:生成中断信号。函数原型为:

int ComBreak(int COM_Port,int Break_Time_msec);

其中,参数Break_Time_msec表示中断信号持续的时间。

7)ComSetEscape函数

功能:设置串口扩展命令。函数原型为:

int ComSetEscape(int COM_Port,int Escape_Code);

其中,参数Escape_Code表示扩展函数代码。

4.串行口状态查询函数

1)GetInQLen函数:

功能:用来获取指定串行口输入队列内的字符数。该函数原型为:

int GetInQLen (int COM_Port)

8

2)GetOutQLen函数

功能:用来获取指定串行口输出队列内的字符数。该函数原型为:

int GetOutQLen (int COM_Port)

3)GetComStat函数

功能:用来返回串行口的状态信息,如果小于0,则表明串行口工作不正常。

该函数原型为:

int GetComStat (int COM_Port)

4)ReturnRS232Err函数

功能:返回错误代码。该函数原型为:

int ReturnRS232Err (int COM_Port)

5.串行口事件处理函数

InstallComCallback函数:

9

功能:用来为指定串行口设置一个回调函数。该函数原型为:

int InstallComCallback (int COM_Port,int Event_Mask,int Notify_Count,int Event_Character , ComCallbackPtr callback_Function, void *callback_Data)

其中,参数Event_Mask为整型,设置回调函数可以响应的事件,如果是0,则不触发回调函数;

Notify_Count为整型,指定触发回调函数接收数据的输入缓冲区的最小字节数,可以是0到整个输入队列的大小;

Event_Character为整型,指定触发LWRS_RXFLAG事件的字节值,可以是0~255;

Callback_Function为ComCallbackPtr类型,定义回调函数;

*callback_Data为空类型,表示回调数据。

6.调制解调文件传输函数

1)XmodemReceive函数

功能:表示接收端口的数据包,并将数据写入文件中。函数原型为:

int XmodemReceive(int COM_Port,char File_Name[]);

10

2)XmodemSend函数

功能:表示读取文件数据,并将数据以包的形式发送到端口缓冲区。函数原型为:

int XmodemSend (int COM_Port,char File_Name[]);

函数以二进制形式发送数据文件,对于文件中回车和换行符不作特殊处理。在数据包很大且波特率较低的情况下,应设置一个较大的超时时限start_Delay.

3)GetComConnectionState函数

功能:返回指定端口的连接状态。函数原型为:

int GetComConnectionState (int COM_Port)

11

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- huatuo7.cn 版权所有 湘ICP备2022005869号-9

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务