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

📄 rs232.h

📁 MTK 手机软件开发 META 源代码,开发环境: C++ Builder
💻 H
字号:
#ifndef _RS232_H_
#define _RS232_H_
//=============================================================================
#include "windows.h"
//-----------------------------------------------

#define THREAD_BUFSIZE  4096        // thread buffer size
#define UART_BUFSIZE    (4096+1024)
#define UART_WRAPPOS    (4096)

//-----------------------------------------------

class CRS232
{
public:
// for Thread management
/*
   HANDLE      m_hThreadOrg;
   HANDLE      m_hThread;
   UINT8       ThreadBuffer[ THREAD_BUFSIZE ];
*/

public:
   bool        m_bConnected;
   int         m_PortNo;
   HANDLE      m_hPort;
   OVERLAPPED  m_osRead,m_osWrite;

// for UART RX buffer management
   UINT8   RXBuf[UART_BUFSIZE];
   UINT16  pos_read;
   UINT16  pos_write;
   UINT16  pos_wrap;

// For debug logging
   bool    LogEnable;
   char    LogString[8196];
   char   *LogStrPtr;

public:
   CRS232( void );
   ~CRS232(  );

   int  PutData2Buf( void *data, int len);  // for debug simulation
   int  ReadUartData(void);
//public:
/*
  port_no      = 1~99 (COM1~CM99);
  baudrate     = 9600L, 57600L, 115200L, 230400L, 460800L, 921600L
  data_bit     = 4~8
  stop_bit     = 0(1bit), 1(1.5bit), 2(2bit)
  parity       = 0(no),1(odd),2(even),3(mark),4(space)
  ena_dts_rts  = 0(disable), 1(enable)
  ena_rts_cts  = 0(disable), 1(enable)
  ena_xon_xoff = 0(disable), 1(enable)
*/
   bool  Open( int port_no=1, long baudrate=115200, int data_bit=8,
              int stop_bit=0, int parity=0, int ena_dts_rts=0, int ena_rts_cts=0, int ena_xon_xoff=0);
   bool Close( void );
   int  SendData( void *buf, int len );
   int  ReadData( void *buf, int maxlen );
   bool IsConnected( void );
   bool IsRxDataReady( void );

   void LogRXQposition(void);
};

//=============================================================================
#endif

⌨️ 快捷键说明

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