资源简介
用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++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 串口通讯技术实现--两台pc机通过串口
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- GD32F103 在线串口Ymodem协议升级IAP
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- qt 串口助手源码
- C++17 In Detail
- 使用QWT库实现接收串口数据,并根据
- Qt5串口通信-windows
- 串口实验(接收与发送)
- 嵌入式QtC++编程课件
- 程序案例 利用LabVIEW实现串口通讯
- STM32(神舟III号 串口1发送实验程序)
评论
共有 条评论