serialdriver.cpp

来自「对应MSP430椭圆曲线加密器的客户端应用程序」· C++ 代码 · 共 68 行

CPP
68
字号
// SerialDriver.cpp: implementation of the SerialDriver class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "zhouwei.h"
#include "SerialDriver.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

SerialDriver::SerialDriver()
{

}

SerialDriver::~SerialDriver()
{

}
HANDLE SerialDriver::initCOM(int serialPort)
{
	HANDLE serial_port;				/* Handle to the serial port */
	long baud_rate = 9600;			/* Specified baud rate */
	char COM1_name[] = "COM3:";
	DCB properties;			/* Properties of serial port */
	serial_port = CreateFile(COM1_name, GENERIC_READ | GENERIC_WRITE, 0, 0, OPEN_EXISTING, 0, 0);

	/* Make sure port was opened */
	if (serial_port == INVALID_HANDLE_VALUE)
	{
		fprintf(stderr, "Error opening port\n");
		CloseHandle(serial_port);
		return (HANDLE)-1;
	}
	/* Get the properties */
	GetCommState(serial_port, &properties);
	/* Set the baud rate */
	properties.BaudRate = CBR_9600;
	/* Set the other properties */
	properties.Parity = NOPARITY;
	properties.ByteSize = 8;
	properties.StopBits = ONESTOPBIT;
	SetCommState(serial_port, &properties);
	return serial_port;
}

void SerialDriver::closeCom(HANDLE serial_port)
{
	CloseHandle(serial_port);
}

int SerialDriver::writeCom(HANDLE serial_port,unsigned char data[],int want,unsigned long *fact)
{	
	return WriteFile(serial_port, data, want, fact, NULL);
}

int SerialDriver::readCom(HANDLE serial_port,unsigned char data[],int want,unsigned long *fact)
{
	return ReadFile(serial_port, (void *)data, want, fact, NULL);	
}

⌨️ 快捷键说明

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