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

📄 rs232com.h

📁 RS232串口通信编程
💻 H
📖 第 1 页 / 共 2 页
字号:
// * Parameter  : None.                                                     *
// * Return     : None.                                                     *
// **************************************************************************
// * Open                                                                   *
// *------------------------------------------------------------------------*
// * Description: bool __fastcall Open();                                   *
// *              Open RS232 COM Port.                                      *
// * Parameter  : None.                                                     *
// * Return     : true -- RS232 COM Port open Success.                      *
// *              false -- RS232 COM Port open Failure.                     *
// **************************************************************************
// * IsOpen                                                                 *
// *------------------------------------------------------------------------*
// * Description: bool __fastcall IsOpen();                                 *
// *              Check if RS232 COM Port Open.                             *
// * Parameter  : None.                                                     *
// * Return     : true -- RS232 COM Port had already opened.                *
// *              false -- RS232 COM Port had close.                        *
// **************************************************************************
// * IsRxData                                                               *
// *------------------------------------------------------------------------*
// * Description: long __fastcall IsRxData();                               *
// *              Check if Receive Data.                                    *
// * Parameter  : None.                                                     *
// * Retrun     : true -- Data Reveived.                                    *
// *              false -- No Data Received.                                *
// **************************************************************************
// *  Read                                                                  *
// *------------------------------------------------------------------------*
// * Description: unsigned long __fastcall Read(BYTE* ReadDataPtr);         *
// *              Read Data from RS232 COM Port.                            *
// * Parameter  : ReadDataPtr -- Read data pointer to save read data.       *
// * Return     : Read data length.                                         *
// **************************************************************************
// * Write                                                                  *
// *------------------------------------------------------------------------*
// * Description: bool __fastcall Write(const BYTE* WriteDataPtr,           *
// *              const BYTE WriteLen);                                     *
// *              Write Data to RS232 COM Port.                             *
// * Parameter  : WriteDataPte -- Write data pointer to sned write data     *
// *              WriteLen -- Write data length                             *
// * Return     : true -- Write data success.                               *
// *              false -- Write data failure.                              *
// **************************************************************************
// * Flush                                                                  *
// *------------------------------------------------------------------------*
// * Description: void __fastcall Flush();                                  *
// *              Flush RS232 COM Port.                                     *
// * Parameter  : None.                                                     *
// * Return     : None.                                                     *
// **************************************************************************
// * Close                                                                  *
// *------------------------------------------------------------------------*
// * Description: void __fastcall Close();                                  *
// *              Close RS232 COM Port.                                     *
// * Parameter  : None.                                                     *
// * Return     : None.                                                     *
// *=========================================================================
//---------------------------------------------------------------------------
#ifndef RS232ComH
#define RS232ComH
//---------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <Controls.hpp>
#include <Classes.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
enum COMPORT{COM_1,COM_2,COM_3,COM_4};
enum BAUDRATE{B_110,B_300,B_600,B_1200,B_2400,B_4800,B_9600,B_19200,B_38400,B_56000,B_57600,B_115200};
enum STOPBITS{One,One5,Two};
enum PARITY{EvenParity,MarkParity,NoParity,OddParity};

class PACKAGE RS232Com : public TComponent
{
private:
  static char COMPORT_VAL[4];
  static long BAUDRATE_VAL[12];
  static char STOPBITS_VAL[3];
  static char PARITY_VAL[4];
protected:
  HANDLE PortHandle;		// Handle of current Open Port
  COMPORT TempPortNumber;   // Temporary to Save PortNumber property
  BAUDRATE TempBaudRate;    // Temporary to Save Baudrate property
  STOPBITS TempStopBits;    // Temporary to Save StopBits property
  PARITY TempParity;        // Temporary to Save Parity
  long CharsAvailable;		// Rx Queue Data Length
  char FPortNumber;		    // Current Port number
  long FBaudRate;			// Current Baud Rate
  char FDataBits;			// Current Data Bits per Bytes
  char FStopBits;			// Current Stop Bits per Bytes
  char FParity;				// Current Parity (No/Odd/Even/Mark/Space=0~4)
public:
  __fastcall RS232Com(TComponent* Owner);
  __fastcall ~RS232Com();
  void __fastcall SetPortNumber(COMPORT PortNumberToSet);
  void __fastcall SetBaudRate(BAUDRATE BaudRateToSet);
  void __fastcall SetStopBits(STOPBITS StopBitsToSet);
  void __fastcall SetParity(PARITY ParityToSet);
  COMPORT __fastcall GetPortNumber();
  BAUDRATE __fastcall GetBaudRate();
  STOPBITS __fastcall GetStopBits();
  PARITY __fastcall GetParity();

  bool __fastcall Open();
  bool __fastcall IsOpen();
  long __fastcall IsRxData();
  void __fastcall Flush();
  void __fastcall Close();
  unsigned long __fastcall Read(BYTE* ReadDataPtr);
  bool __fastcall Write(const BYTE* WriteDataPtr,const BYTE WriteLen);

  __published:    //

⌨️ 快捷键说明

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