• 大小: 15.05MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-30
  • 语言: C/C++
  • 标签: C++  VC  

资源简介

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.embed.manifest

     文件        472  2017-10-14 11:36  ProtocolProc\ProtocolProc\Debug\ProtocolProc.dll.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论