serialcontrol.cpp

来自「CRC校验 CSerialPort串口类C RC校验 CSerialPort串口」· C++ 代码 · 共 51 行

CPP
51
字号
#include "StdAfx.h"
#include ".\serialcontrol.h"




CSerialControl::CSerialControl(void)
{
	pPort = AfxGetMainWnd(); //得到主窗口指针,通过主窗指针访问其他子窗资源
}

CSerialControl::~CSerialControl(void)
{
}

// 初始化串口
void CSerialControl::InitialCom(int nPorts)
{
	nColtAddr = 0 ;
	nColts = 0;
	if(m_Ports.InitPort(pPort,nPorts,2400,'N',8,1,EV_RXCHAR|EV_RXFLAG,1024))
	{
		this->m_Ports.StartMonitoring();
		//SetCommVal();
	}	

	//HANDLE m_pThread;
	//unsigned int nDummy;
	//m_pThread=(HANDLE) _beginthreadex(NULL,0,CommThread,this,CREATE_SUSPENDED,&nDummy);//开辟DI线程 
	//ResumeThread(m_pThread); 
}

// 写串口数据
void CSerialControl::SetCommVal(int n)
{
	unsigned char outbuf[10];
	outbuf[0] = 0xDB;
	outbuf[1] = 0x90;
	outbuf[2] = 0xDB;
	outbuf[3] = 0x90;
	outbuf[4] = BYTE(n);
	outbuf[5] = 0x02;
    outbuf[6] = 0x00;	
	outbuf[7] = 0x00;	
	unsigned short getcrc = CCRC::RunCRC16(outbuf,8,0X1021);
    outbuf[8] = getcrc>>8;			//字符串高8位
	outbuf[9] = getcrc & 0xff;			//低8位
	m_Ports.WriteToPort(outbuf,10);
	
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?