资源简介
不可多得的两串口通讯源代码,一定要看呀!
代码片段和文件信息
#include “stdafx.h“
#include “com232.h“
BYTE XwCom=0x40;
BYTE sCom1[5]sCom2[MAXBLOCKLENGTH+12]sCom3[MAXBLOCKLENGTH+12];
BYTE opation;
short ComNum;
//COMSTAT ComStat;
CComStatus::CComStatus()
{
m_hCom = NULL;
m_bComId = (char)ComNum;//COM1
m_bByteSize=8;
m_bStopBits=ONESTOPBIT;
m_bParity=NOPARITY;
m_dwBaudRate=9600;
// m_fChEvt=1;
m_bEvtChar=EVENTCHAR;
m_fBinary=1;
m_bConnected = FALSE;
m_bFlowCtrl = FC_XONXOFF ;
m_fXonXoff = FALSE;
}
CComStatus::CComStatus(BYTE bComIdBYTE bByteSizeBYTE bStopBitsBYTE bParity
DWORD dwBaudRate/*WORD fChEvt*/char bEvtCharDWORD fBinary)
{
m_hCom = NULL;
m_bComId = bComId;
m_bByteSize=bByteSize;
m_bStopBits=bStopBits;
m_bParity=bParity;
m_dwBaudRate=dwBaudRate;
// m_fChEvt=1;
m_bEvtChar=bEvtChar;
m_fBinary=fBinary;
m_bConnected = FALSE;
m_bFlowCtrl = FC_XONXOFF ;
m_fXonXoff = FALSE;
}
BOOL CComStatus::OpenConnection()
{
char csCom[10];
COMMTIMEOUTS CommTimeOuts ;
if((m_bComId < 0) || (m_bComId > 4))
return FALSE;//从COM1到COM4
if(m_hCom)//if already open
return FALSE;
//OVERLAPPED包含异步I/O信息
m_rdos.Offset = 0;
m_rdos.OffsetHigh = 0;
m_rdos.hEvent = CreateEvent(NULLTRUEFALSENULL);
if(m_rdos.hEvent == NULL)
return FALSE;
m_wtos.Offset = 0;
m_wtos.OffsetHigh = 0;
m_wtos.hEvent = CreateEvent(NULLTRUEFALSENULL);
if(m_wtos.hEvent == NULL)
{
CloseHandle(m_rdos.hEvent);
return FALSE;
}
wsprintf(csCom“COM%d“m_bComId);
m_hCom = CreateFile(csComGENERIC_READ | GENERIC_WRITE
0
NULL
OPEN_EXISTING
FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED
NULL
);
if(m_hCom == INVALID_HANDLE_VALUE) {
//dwError = GetLastError();
// handle error
return FALSE;
}
else
{
// get any early notifications
SetCommMask( m_hCom EV_RXCHAR ) ;
// setup device buffers
SetupComm( m_hCom 4096 4096 ) ;
// purge any information in the buffer
PurgeComm( m_hCom PURGE_TXABORT | PURGE_RXABORT |
PURGE_TXCLEAR | PURGE_RXCLEAR ) ;
// set up for overlapped I/O
DWORD dwTemp = 1000 / (this->m_dwBaudRate / 8);
CommTimeOuts.ReadIntervalTimeout = 0xFFFFFFFF ;
CommTimeOuts.ReadTotalTimeoutMultiplier = 0;//((dwTemp > 0) ? dwTemp : 1);
CommTimeOuts.ReadTotalTimeoutConstant = 1000 ;
// CBR_9600 is approximately 1byte/ms. For our purposes allow
// double the expected time per character for a fudge factor.
CommTimeOuts.WriteTotalTimeoutMultiplier = 2*CBR_9600/this->m_dwBaudRate;//( npTTYInfo ) ;
CommTimeOuts.WriteTotalTimeoutConstant = 0;//1000 ;
SetCommTimeouts( m_hCom &CommTimeOuts ) ;
}
if(!SetupConnection())
{
CloseConnection();
return FALSE;
}
EscapeCommFunction( m_hCom SETDTR );
m_bConnected = TRUE;
return TRUE;
}
BOOL CComStatus::CloseConnection()
{
if (NULL == m_hCo
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1586 2000-01-03 00:55 serealcom.clw
文件 3633 1999-08-29 10:34 ReadMe.txt
文件 541 1999-08-29 10:34 serealcom.dsw
文件 1357 1999-08-29 10:34 serealcom.h
文件 2163 1999-09-12 11:07 serealcom.cpp
文件 1830 1999-09-12 11:31 serealcomDlg.h
文件 6112 1999-09-12 11:35 serealcomDlg.cpp
文件 1054 1999-08-29 10:34 StdAfx.h
文件 211 1999-08-29 10:34 StdAfx.cpp
文件 916 1999-09-12 11:10 resource.h
文件 5886 2000-01-03 00:52 serealcom.rc
文件 107520 2000-01-03 01:01 serealcom.ncb
文件 4458 2000-01-03 01:01 serealcom.dsp
文件 36200 2000-01-03 00:52 serealcom.aps
文件 848 2000-01-03 00:53 serealcom.plg
文件 1904 1999-09-12 11:01 COM232.H
文件 19318 1999-10-13 09:37 Com232.cpp
文件 59904 2000-01-03 01:01 serealcom.opt
目录 0 1999-08-29 14:49 res\
文件 401 1999-08-29 10:34 res\serealcom.rc2
文件 1078 1999-08-29 10:34 res\serealcom.ico
文件 1277 1999-09-12 11:29 ComDlg.h
文件 1769 1999-09-12 11:29 ComDlg.cpp
目录 0 2000-01-03 01:00 Debug\
文件 129 2000-01-03 01:01 串口通讯使用说明.txt
- 上一篇:openssl c语言应用
- 下一篇:西南交大程序设计综合实验源代码c语言版
相关资源
- 第三方串口类
- VC++ 串口实现双机互联 包含视窗加代
- 基于CnComm v1.51和vc2013的串口调试软件
- MFC开发的与服务器通讯程序
- C语言实现链表通讯录
- 班级通讯录管理系统C语言课程设计
- 三菱PLC 串口通信程序
- 通讯录管理系统含源代码
- 用MFC编写的数据包校验与常用校验算
- 数据结构哈希表实现通讯录
- 串口接受和发送数据--C语言代码,非
- c语言实现 通过rs232可实现上位机和下
- 串口调试工具 带自动换行功能
- QT点菜系统
- C++音视频即时通讯源代码
- 数据结构课程设计-班级通讯录
- 串口调试助手保存excel源程序
- 自己写的MFC串口调试软件
- labview与单片机rs232串口通信
- C语言连接mysql,实现通讯录功能
- PIC18F452串口通信程序
- C++串口通信类,包含头文件和CPP文件
- 一个简单的vs c++ socket通讯程序
- VC++MFC串口调试助手完整编辑过程介绍
- 即时通讯flamingo服务器端代码
- 欧姆龙 PLC 通讯 dll
- MFC用树控件制作简单通讯录
- 个人通讯录c++版完整代码
- 通讯录管理系统c++版顺序表存储,折
- 串口转TCP组件 Ubuntu、openwrt实测可用
评论
共有 条评论