资源简介
VC实现串口通讯,数据接收、数据发送,数据解析,以回调函数的方式给其它调用 的地方或者界面直接使用。
代码片段和文件信息
//###############################################################################################################
// 串口操作类CComPort_Meter类CComPort_Meter的实现文件
//###############################################################################################################
#include “stdafx.h“
#include “CComPort_Meter.h“
#define IN_BUF_SIZE 1024*100 //串口输入缓冲区的大小
#define OUT_BUF_SIZE 1024*10 //串口输出缓冲区的大小
unsigned long power(int base int times)
{
int i;
unsigned long rslt = 1;
for(i=0; i rslt *= base;
return rslt;
}
unsigned long BCDtoDec(byte *bcd)
{
if (bcd[0]==0xff)
{
bcd[0]=0;
}
if (bcd[1]==0xff)
{
bcd[1]=0;
}
if (bcd[2]==0xff)
{
bcd[2]=0;
}
int bcd_int;
bcd_int=(int)((bcd[0]>>4)&0x0f)*100000;
bcd_int+=(int)(bcd[0]&0x0f)*10000;
bcd_int+=(int)((bcd[1]>>4)&0x0f)*1000;
bcd_int+=(int)(bcd[1]&0x0f)*100;
bcd_int+=(int)((bcd[2]>>4)&0x0f)*10;
bcd_int+=(int)bcd[2]&0x0f;
return bcd_int;
}
byte CheckSum(byte crcData[] int offset int count)
{
unsigned int sum = 0;
for (int i = offset; i < offset + count; i++)
{
sum += crcData[i];
}
return (byte) (sum & 0xFF);
}
CString Char2CString(char *pszCmd)
{
int charlen;
int len;
CString str;
charlen=strlen(pszCmd);
len=MultiByteToWideChar(CP_ACP0pszCmdcharlenNULL0);
TCHAR *buf=new TCHAR[len+1];
MultiByteToWideChar(CP_ACP0pszCmdcharlen(LPWSTR)buflen);
buf[len]=‘\0‘;
str=_T(““);
str.Append(buf);
return str;
}
CString FloatStr2CString(CString k)
{
BOOL bAgain=TRUE;
while((k.GetLength()>0)&&(k.Find(_T(“.“))>=0)&&(bAgain==TRUE))
{
if(((k.GetAt(k.GetLength()-1)==‘0‘))||(k.GetAt(k.GetLength()-1)==_T(‘.‘)))
{
k=k.Left(k.GetLength()-1);
}
else
bAgain=FALSE;
}
bAgain=TRUE;
while((k.GetLength()>0)&&(bAgain==TRUE))
{
if(k.GetAt(0)==‘0‘)
{
k=k.Right(k.GetLength()-1);
}
else
bAgain=FALSE;
}
return k;
}
BOOL CComPort_Meter::WeightDataHandle(LPCSTR pszDataProtocolInfo &info)
{
if (pStrBufTemp.length()>100)
{
pStrBufTemp=““;
}
if (1==m_CommunicaMode)
{
return PraseDataMode_Keli_1(pszData info);
}
if (2==m_CommunicaMode)
{
return PraseDataMode_Keli_2(pszData info);
}
if (3==m_CommunicaMode)
{
return PraseDataMode_Keli_3(pszData info);
}
if (4==m_CommunicaMode)
{
return PraseDataMode_Keli_4(pszData info);
}
if (5==m_CommunicaMode)
{
return PraseDataMode_Keli_5(pszData info);
}
if (6==m_CommunicaMode)
{
return PraseDataMode_Keli_6(pszData info);
}
if (7==m_CommunicaMode)
{
return PraseDataMode_Keli_7(pszData info);
}
if (8==m_CommunicaMode)
{
return PraseDataMode_Keli_8(pszData info);
}
if (9==m_CommunicaMode)
{
return PraseDataMode_Keli_9(pszData info);
}
}
BOOL CComPort_Meter::PraseDataMode_Keli_1(LPCSTR pszDataProtocolInfo &info)
{
CString m_str_temp;
pStrBufTemp+=
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1959936 2017-10-14 11:36 ProtocolProc\Debug\ProtocolProc.dll
文件 5480 2017-10-14 11:36 ProtocolProc\Debug\ProtocolProc.exp
文件 6098912 2017-10-14 11:36 ProtocolProc\Debug\ProtocolProc.ilk
文件 9596 2017-10-14 11:36 ProtocolProc\Debug\ProtocolProc.lib
文件 11914240 2017-10-14 11:36 ProtocolProc\Debug\ProtocolProc.pdb
文件 31528 2017-09-14 14:47 ProtocolProc\ProtocolProc\CComPort_Meter.cpp
文件 2866 2017-10-14 11:36 ProtocolProc\ProtocolProc\CComPort_Meter.h
文件 27660 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\BuildLog.htm
文件 389447 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\CComPort_Meter.obj
文件 413444 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\MeterProtocol.obj
文件 65 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\mt.dep
文件 406 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.dll.em
文件 472 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.dll.em
文件 381 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.dll.intermediate.manifest
文件 16669 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.obj
文件 25755648 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.pch
文件 10652 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\ProtocolProc.res
文件 481044 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\stdafx.obj
文件 1215488 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\vc90.idb
文件 2347008 2017-10-14 11:36 ProtocolProc\ProtocolProc\Debug\vc90.pdb
文件 17274 2017-10-14 11:33 ProtocolProc\ProtocolProc\MeterProtocol.cpp
文件 4708 2017-10-14 11:34 ProtocolProc\ProtocolProc\MeterProtocol.h
文件 1173 2017-10-14 11:27 ProtocolProc\ProtocolProc\ProtocolProc.cpp
文件 112 2017-10-14 11:27 ProtocolProc\ProtocolProc\ProtocolProc.def
文件 431 2017-10-14 11:27 ProtocolProc\ProtocolProc\ProtocolProc.h
文件 3060 2017-10-14 11:27 ProtocolProc\ProtocolProc\ProtocolProc.rc
文件 5615 2017-10-14 11:29 ProtocolProc\ProtocolProc\ProtocolProc.vcproj
文件 1401 2018-04-26 09:39 ProtocolProc\ProtocolProc\ProtocolProc.vcproj.IKKBJFZLO3UIM2N.Administrator.user
文件 2116 2017-10-14 11:27 ProtocolProc\ProtocolProc\ReadMe.txt
文件 368 2017-10-14 11:27 ProtocolProc\ProtocolProc\res\ProtocolProc.rc2
............此处省略15个文件信息
相关资源
- Numerical.Recipes.C++数值算法 第二版中文
- c++写的泡泡堂的小游戏,可以单机或
- 经典c++代码大全
- VC2014官方运行库
- MFC PDF教程全套
- openal 所有安装程序及配置资料
- C++编写基于TCP/IP的Modbus网络通讯工具
- 精通Visual C++数字图像处理技术与工程
- 21天学通C++第四版中文版
- C++设计新思维简体中文版清晰
- vc6.0调用vs2008 CImage类
- GPS伪距差分程序C++
- VC++6.0从入门到精通
- VB6 VC6最佳打包工具InstallShield,内附教
- vcredist x64 合集 含2005Sp1 2008 2010
- mfc编程共85个
- C#封装C++DLL并调用
- 数据结构C++版第二版--王红梅所有课件
- 正运动控制器入门程序例程vc++6.0版
- Exceptional C++中文版 绝对清晰带目录
- MFC销售管理SaleSystem.rar
- c++车牌识别
- VS2017C++windows桌面应用程序项目OpenCV及
- C++ 画直线、三角形、矩形、直线
- c++程序设计-刘振安书籍含PPT
- 数据结构(C++语言版) 第三版完整版
- VC6.0中文版
- C++ Primer Plus中文版第六版
- vscode c/c++扩展(cpptools v0.22.1)离线安
- c++ word\\excel\\ppt转pdf .rar
评论
共有 条评论