呵呵!
我们公司有可是不是我写的,不能给你!
提示你,串口也是一个特殊的文件CreateFile吧!
我们公司有可是不是我写的,不能给你!
提示你,串口也是一个特殊的文件CreateFile吧!
解决方案 »
- 关于MFC中HDC问题,图片可以显示在桌面,但是在控件中显示不了,求助
- 如何让下面一条代码等待让一条的代码结束后再执行 用sleep不行 请大家指教
- 原创兼散分----CWnd::Create函数背后隐藏的秘密
- atl控件嵌入html页面 ,该控件如何获取该页面的url(不考虑用bho技术)
- 怎样实现注册表监控
- Automation 方面的高手来帮忙。在线等。
- 我想为日志输出组织一个宏,可是不知道如何处理最合适,具体请进来看下我的宏就知道了。
- 消息驱动体系比之其他方式,究竟有些什么优点呢?
- 天啊,这是怎么回事?
- 请教各位高手,如何在其它地方获取当前活动视的指针?
- DCOM在Win98下互连,dcomcnfg设置问题,请指教。
- 如何在VC++中建立如同VB中的控件数组?
1)打开一个串口需使用:
CFile file;
CFileException e;
file.Open (
portName, //example "COM1","COM2"
CFile::modeReadWrite,
&e);
2)关闭一个串口需使用:
file.Close();
3)从端口进行读操作,需使用:
char m_ReadBuff[UINT n];
UINT nByte=file.Read (
&m_ReadBuff, //buffer to store byte
UINT nCount //number of bytes to read
);
4)从端口进行写操作,需使用:
char m_WriteBuff[UINT n];
file.Write (
&m_WriteBuff, //buffer to store byte
UINT nCount //number of bytes to write
);
5)配置串口
串行端口创建时,必须对其进行设置以匹配与其对话的设备。虽然可以通过操作系统设置这些参数,但也可以用Windows API 中的SetCommState()函数来设置它们。一般地,可用如下程序设置它们:
DCB dcb;
::GetCommState( (HANDLE)file.m_hFile, &dcb );
dcb.BaudRate = 1200,…;
dcb.ByteSize = 7 or 8;
dcb.StopBits = 0,1,2=0,1.5,2;
dcb.Parity = 0-4=no,odd,even,,space;
::SetCommState((HANDLE)file.m_hFile, &dcb );
为了更好地控制端口可以利用SetCommTimeouts()函数打开或关闭超时功能,具体程序如下:
COMMTIMEOUTS cto;
::GetCommTimeouts((HANDLE)file.m_hFile , &cto );
cto.ReadIntervalTimeout =0;
cto.ReadTotalTimeoutMultiplier =0;
cto.ReadTotalTimeoutConstant =0;
cto.WriteTotalTimeoutMultiplier=0;
cto.WriteTotalTimeoutConstant =0;
::SetCommTimeouts((HANDLE)file.m_hFile , &cto );
采用上面的程序,利用MFC CFile类进行串行通信,代码简单、编程量小,可应用于在线监测、自动化控制等许多方面,对科研、生产有着广泛的实用价值。
http://roaringwind.best.163.com 是你的吗,干吗那个新版的要钱?
CreateFile(),ReadFile(),WriteFile()
等函数。