异步串口通信 VC++
日期:2007年6月7日 作者: 查看:[大字体 中字体 小字体]-
//MyComm.h 多机控制 异步串口通信
class CMyComm
{
public:
CMyComm();
virtual ~CMyComm();
void PreOpenSetupQueue(DWord dwInQueue, DWORD dwOutQueue);
// size of input buffer, size of output buffer
BOOL Open(int nPort, int nBaud);
//默认无校验,每个字节发送11个bit,异步方式。
//若设置校验后,校验错则字节被替换为0x7E
BOOL SetupQueue(DWORD dwInQueue, DWORD dwOutQueue);
// size of input buffer, size of output buffer
BOOL ResetParity(char Parity);//parity = 'N', 'O', 'E', 'M', 'S' 不区分大小写
//分别表示 no, odd, even, mark, space
// 在Open()前设置无效。
BOOL SendData(LPCVOID lpBuf, DWORD dwToWrite);
DWORD ReadData(LPVOID lpBuf, DWORD dwToRead);
void Close();protected:
HANDLE m_hCom;
BOOL m_bOpened;
OVERLAPPED m_osReader;
OVERLAPPED m_osWriter;
DWORD m_dwInBuf;
DWORD m_dwOutBuf;
};//////////////////////////////////////////////////////////
//MyComm.cpp
#include "stdafx.h"
#include "MyComm.h"
///////////////////////////////////////////CMyComm::CMyComm()
{
m_bOpened = FALSE;
m_dwInBuf = 512;
m_dwOutBuf = 512;
m_hCom = NULL;
}void CMyComm::PreOpenSetupQueue(DWORD dwInQueue, DWORD dwOutQueue)
{
m_dwInBuf = dwInQueue;
m_dwOutBuf = dwOutQueue;
}BOOL CMyComm::Open(int nPort, int nBaud)
{
ASSERT(nPort > 0 nPort < 5 nBaud >= 110 nBaud <= 128000);
if( m_bOpened ) return TRUE;
char szPort[15];
char lpDef[15];
DCB dcb = {0};
dcb.DCBlength = sizeof(dcb);
wsprintf(szPort, "COM%d", nPort);
wsprintf(lpDef, "%d,n,8,1", nBaud);
m_hCom = CreateFile(szPort, GENERIC_READ GENERIC_WRITE,
0, NULL, OPEN_EXISTING, FILE_FLAG_OVERLAPPED, NULL); - [1] [2] [3] [4] 下一页
-
- 异步串口通信 VC++ 相关文章:
- ·异步串口通信 VC++
- 异步串口通信 VC++ 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·C语言教程第六章:指针
- ·C/C++笔试、面试题目大汇总
- ·MSComm控件使用详解
- ·学生成绩管理系统实习
- ·飞机订票系统设计
- ·Windows下C语言网络编程快速入门
- ·c#.net连接access操作类
- ·进程调度模拟程序
- ·打字游戏
- ·C#基础概念二十五问
- ·makefile规则
- ·C语言的常用库函数使用方法分析及用途
- ·Windows编程基础 - 概述
- ·c语言中的结构(struct)和联合(union)简介
- ·C语言教程第五章:函数
- ·一个简单的链表程序
- ·GDB 的文档
- ·socket编程原理
- ·VC下调用ACM音频编程接口压缩Wave音频
- ·漫谈C++ Builder多线程编程技术
特别推荐
- ·C#基础概念二十五问
- ·利用C#远程存取Access数据库
- ·入门教程:实例详解C++友元
- ·C语言基础教程(三)输入输出函数及控制流程语句
- ·VC下调用ACM音频编程接口压缩Wave音频
- ·如何在C/C++中调用Java
- ·设计的一个计算器类的源代码,很简陋哦,请各位高手不要见笑!
- ·gSOAP中内存的使用
- ·Windows下C语言网络编程快速入门
- ·C语言教程第六章:指针
- ·漫谈C++ Builder多线程编程技术
- ·学生成绩管理系统实习
- ·用C#实现pdf文件的完整性验证
- ·将程序从托管扩展 C++ 迁移到 C++/CLI(1)
- ·链表的c语言实现(六)
- ·C语言库函数 (D类字母)
- ·用AVIFile函数制做AVI文件基本步骤
- ·利用C++实现的贪吃蛇游戏
- ·Windows API-GDI入门基础知识详解(3)
- ·C语言库函数 (C类字母)
