资源简介
用C++编写的串口类。调用winAPI函数。包含头文件windows.h、string。
void SetPortNumber(const ComPort PortNumberToSet);
void SetBaudRate(const BaudRate BaudRateToSet);
void SetStopBits(const StopBits StopBitsToSet);
void SetParity(const ParityType ParityToSet);
ComPort GetPortNumber();
BaudRate GetBaudRate();
StopBits GetStopBits();
ParityType GetParity();
bool Open();
bool IsOpen();
long IsRxData();
void Flush();
void Close();
unsigned long Read(char* ReadDataPtr);
bool Write(const char* WriteDataPtr,const char WriteLen);
代码片段和文件信息
//==============================================================================
//com class
//Edited by yangyong 2011/08/31
//Header: com.h
//==============================================================================
#include “com.h“
//==============================================================================
Com::Com():
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(cpCOM_1)
itsBaudRate(brB_9600)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort portNumber):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(brB_9600)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort portNumber BaudRate buadRate):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(8)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort portNumber BaudRate buadRate char byteSize):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(ptNoParity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort portNumber BaudRate buadRate char byteSize ParityType parity):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(parity)
itsStopBits(sbOne)
{
}
//==============================================================================
Com::Com(ComPort portNumber BaudRate buadRate
char byteSize ParityType parity StopBits stopBits):
itsPortHandle(INVALID_HANDLE_VALUE)
itsCharsAvailable(0)
itsPortNumber(portNumber)
itsBaudRate(buadRate)
itsByteSize(byteSize)
itsParity(parity)
itsStopBits(stopBits)
{
}
//==============================================================================
Com::~Com()
{
this->Close();
}
//==============================================================================
bool Com::IsOpen()
{
return (itsPortHandle != INVALID_HANDLE_VALUE);
}
//==============================================================================
bool Com::Open()
{
std::string StrCom = “COM“;
DCB dcbPort;
if(IsOpen())
{
Close();
}
//将数字转变成字符,并通过append函数添加在字符串StrCom结尾
//组合成串口号
if((itsPortNumber >= 0) && (itsPortNumber <= 9))
{
StrCom.append(1(char)(itsPortNumber + ‘0‘));
itsPortHandle = CreateFile(StrCom.c_str()
GENERIC_READ | GENERIC_WRITE
0
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2011-09-02 21:47 ComClass(串口类winAPI)\
文件 7224 2011-09-02 19:10 ComClass(串口类winAPI)\Com.cpp
文件 3755 2011-09-02 19:20 ComClass(串口类winAPI)\Com.h
文件 444 2011-09-01 19:59 ComClass(串口类winAPI)\main.cpp
相关资源
- c++教师排课程序
- C++获取网络时间
- C++ADO连接SQLServer封装类
- 幂法与反幂法 C++程序
- c++软件实习开发报告
- HDLC协议概述及c++实现
- C++自动生成等高线源程序
- c++简单线程池的实现
- Visual C++实现的FFT变换
- 数据结构课程设计公交线路优化查询
- vc++注册表文件关联,图标关联
- c++实现生产者消费者问题
- C#与C++进程间通信
- C++实验5代码5
- C++实验4代码4.3
- 清华大学C++ 郑莉老师教学视频 45集
- advapi32.lib77067
- 网络爬虫 C++ 代码
- 网关模板 C/C++程序编写
- 一个基于C++和mssql的本科生信息管理系
- 用c++写的一个udp聊天程序
- VC++面向对象与可视化程序设计第三版
- [网盘]C++Primer Plus第6版中文版.pdf
- 条件随机场资料CRFC++版
- 扫雷vc++sdk
- 04_图像编辑器实现.zip
- c++实现简单的topsis算法
- VC++折叠展开型百叶窗的窗体面板组
- 时间轮 C语言版
- socket实现的CS框架
评论
共有 条评论