⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialport.hpp

📁 一个开放源代码的AVR单片机编程器
💻 HPP
字号:
/*****************************************************************************
 *
 * Atmel Corporation
 *
 * File              : SerialPort.hpp
 * Compiler          : Dev-C++ 4.9.8.0 - http://bloodshed.net/dev/
 * Revision          : $Revision: 3.0 $
 * Date              : $Date: Tuesday, January 17, 2006 18:33:56 UTC $
 * Updated by        : $Author: raapeland $
 *
 * Support mail      : avr@atmel.com
 *
 * Target platform   : Win32
 *
 * AppNote           : AVR911 - AVR Open-source Programmer
 *
 * Description       : A class providing serial communication through the PC COM port.
 *                     This class is derived from the CommChannel abstract class.
 *
 * 
 ****************************************************************************/
#ifndef SERIALPORT_HPP
#define SERIALPORT_HPP

using namespace std;

#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <time.h>
#include <iostream>
#include "CommChannel.hpp"
#include "ErrorMsg.hpp"


class SerialPort : public CommChannel
{
	protected:
		long portNumber; // COMx port number.
		long timeout; // Desired timeout limit when receiving data.
		HANDLE serialHandle; // Win32 device handle for the com port.
		COMMTIMEOUTS oldComTimeouts; // Store old serial port timeout parameters.
		bool channelOpen; // Is channel open?

	public:
		// Constructor taking port number, baudrate and
		// timeout limit as parameters.
		SerialPort( long portnumber, long timeout );

		// Destructor.
		~SerialPort();

		// Open the communication channel.
		virtual void openChannel();

		// Close the communication channel.
		virtual void closeChannel();

		// Transmit a single byte.
		virtual void sendByte( long data );

		// Receive a single byte.
		virtual long getByte();

		// Flush the transmit buffer.
		virtual void flushTX();

		// Flush the receive buffer.
		virtual void flushRX();

		// Transmit multiple bytes.
		virtual void sendMultiple( unsigned char * data, long bufsize );
};

#endif

⌨️ 快捷键说明

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