win7 VS2008 X64 pcomm串口控制开发方法

原本想用MSCOMM串口控件开发了,但是注册配置搞了两天多,win32平台确实搞定了,但是X64解决方案下没有成功,MSCOMM串口控件在X64是用不了所以转战pcomm,或许MSCOMM自己添加消息可以,这个还么有试,等试好了再添一篇博客吧;另外serialport x64肯定能用的。下面介绍下pcomm开发。

开发参考的原网址:http://www.doc88.com/p-7844755170409.html

pcomm官网下载网址:http://www.moxa.com/support/sarch_result.aspx?type=soft&prod_id=255&type_id=5

1. 下载安装完成后新建一个MFC对话框应用程序。

2. 添加静态和动态路径:Tools - Options - Projects and Solutions - VC++ Directories - Show dirctories for:选择Include files 添加安装pcomm路径下的include文件夹;选择Library files添加安装pcomm路径下的Lib文件夹,注意下边子文件的X86和X64之分。<

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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);//清空 输入和输出缓冲区的数据 }*/
int WINAPI sio_ioctl(int port, int baud, int mode); int WINAPI sio_getch(int port); int WINAPI sio_read(int port, char *buf, int len); int WINAPI sio_putch(int port, int term); int WINAPI sio_write(int port, char *buf, int len); int WINAPI sio_flush(int port, int func); long WINAPI sio_iqueue(int port); long WINAPI sio_oqueue(int port); int WINAPI sio_lstatus(int port); int WINAPI sio_lctrl(int port, int mode); int WINAPI sio_cnt_irq(int port, VOID (CALLBACK *func)(int port), int count); int WINAPI sio_modem_irq(int port, VOID (CALLBACK *func)(int port)); int WINAPI sio_break_irq(int port, VOID (CALLBACK *func)(int port)); int WINAPI sio_Tx_empty_irq(int port, VOID (CALLBACK *func)(int port)); int WINAPI sio_break(int port, int time); int WINAPI sio_flowctrl(int port, int mode); int WINAPI sio_Tx_hold(int port); int WINAPI sio_close(int port); int WINAPI sio_open(int port); long WINAPI sio_getbaud(int port); int WINAPI sio_getmode(int port); int WINAPI sio_getflow(int port); int WINAPI sio_DTR(int port, int mode); int WINAPI sio_RTS(int port, int mode); int WINAPI sio_baud(int port, long speed); int WINAPI sio_data_status(int port); int WINAPI sio_term_irq(int port, VOID (CALLBACK *func)(int port), char code); int WINAPI sio_linput(int port, char *buf, int lne, int term); int WINAPI sio_putb_x(int port, char *buf, int len, int tick); int WINAPI sio_putb_x_ex(int port, char *buf, int len, int tms); int WINAPI sio_view(int port, char *buf, int len); int WINAPI sio_TxLowWater(int port, int size); int WINAPI sio_AbortWrite(int port); int WINAPI sio_SetWriteTimeouts(int port, DWORD TotalTimeouts); int WINAPI sio_GetWriteTimeouts(int port, DWORD *TotalTimeouts); int WINAPI sio_SetReadTimeouts(int port, DWORD TotalTimeouts, DWORD IntervalTimeouts);Pcomm串口动态链接库

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值