上传者: ufostar668
|
上传时间: 2022-01-27 11:33:26
|
文件大小: 33KB
|
文件类型: -
PComm 库函数
PComm 库函数是台湾MOXA公司提供的,他为用户提供了基于win32 api的开发接口。 PComm库函数分为7大类
控制函数、数据输入函数、数据输出函数、状态函数、事件驱动函数、传输文件函数、特殊设定函数
上述函数均返回int型数据,若函数调用成功则返回0,否则返回一个负整数。
控制函数主要包括
sio_open(PortNum) 打开串口
sio_close(PortNum) 关闭串口
sio_ioctl(PortNum, baud, mode)设置串口的工作模式,包括 波特率,数据位元,停止位,效验等
sio_flush(portNum,func)清除发送、接收缓冲区 其中func 为0清空输入 ,为1清空输出,为2清空输入输出
sio_SetWriteTimeouts(int port,DWORD TotalTimeouts):设置串口写操作的超时。
sio_lctrl(Portnum,mode) 设置串口RTS/DTS。 待定
数据输入函数主要包括
sio_getch(PortNum) 从输入缓冲区读一个字符
sio_read(PortNum,buf,len) 从输入缓冲区读指定个数的字符
sio_iqueue(Portnum)读取输入缓冲区中的字符长度
数据输出函数主要包括
sio_putch(PortNum) 写一个字符到输出缓冲区
sio_write(PortNum,buf,len)写指定个数的字符到输出缓冲区
状态函数主要包括
sio_lstatus(portNum)获取串口的CTS,DSR,DCD,RI线的状态
sio_getbaud(portNum)获取串口的波特率
sio_getmode(portNum)获取串口的工作模式。对应sio_ioct函数
事件函数主要包括
sio_term_irq(portNum,func,code) 当接收到指定字符时响应事件,func为回调函数名,code为指定的字符
sio_cnt_irq(PortNum,func,count) 当接收到指定个数字元时响应事件,func为回调函数名,count接收的个数
传输文件函数主要包括
sio_FtASCIITx(portNum,fname,func,key)发送一个文本文件
sio_FtASCIIRx(portNum,fname,func,Key,sec)接收一个文本文件
int i,Ret,DataLen;
FILE *fp1;
uchar RetDataC[30],WriteData[24],PSC[5];
Ret = sio_open(port);
if (Ret != SIO_OK )
return(-1);//打开串口错误
Ret = sio_ioctl (port, B9600, P_NONE | BIT_8 | STOP_1 );
if (Ret != SIO_OK) {
sio_close(port);
return(-2);//设置串口参数失败
}
/*Ret = sio_lctrl (port, C_DTR | C_RTS );
if (Ret != SIO_OK) {
sio_close(port);
return(-2);//设置串口参数失败
}*/
/*Ret = sio_flush(port,2);
if (Ret != SIO_OK){
sio_close(port);
return(-3);//清空 输入和输出缓冲区的数据
}*/