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

📄 main.h

📁 Linux环境下的串口通讯程序
💻 H
字号:
//---------------------------------------------------------------------------



#ifndef mainH

#define mainH



#include <Classes.hpp>

#include <QControls.hpp>

#include <QStdCtrls.hpp>

#include <QForms.hpp>

#include <QComCtrls.hpp>

#include <QDialogs.hpp>

#include <QExtCtrls.hpp>







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

enum ePortStatus

{

	ePORT_CLOSE,

    ePORT_OPEN,

    ePORT_INVALID,

};

enum eDownState

{

	eDownload,

    eIdle,

};

enum eDownCancel

{

	eDowning,

    eCancel,

};



#define	ENC(c) ((c) ? ((c) & 077) + ' ': '`')



class TFormMain : public TForm

{

friend void fnIsrReceive(int port);



__published:	// IDE-managed Components

	TPanel *Panel1;

	TGroupBox *GroupBox_com;

	TRadioGroup *RadioGroup_port;

	TRadioGroup *RadioGroup_databit;

	TRadioGroup *RadioGroup_stopbit;

	TRadioGroup *RadioGroup_parity;

	TRadioGroup *RadioGroup_baudrate;

	TPanel *Panel2;

	TPanel *Panel4;

	TLabel *Label1;

	TEdit *Edit_fn;

	TProgressBar *ProgressBar_fp;

	TButton *Button_browse;

	TButton *Button_dl;

	TPanel *Panel3;

	TMemo *Memo_readmsg;

    TOpenDialog *OpenDialog_df;

	void __fastcall Button_browseClick(TObject *Sender);

	void __fastcall Button_dlClick(TObject *Sender);

	void __fastcall FormCreate(TObject *Sender);

	void __fastcall RadioGroup_portClick(TObject *Sender);

	void __fastcall RadioGroup_databitClick(TObject *Sender);

	void __fastcall FormClose(TObject *Sender, TCloseAction &Action);

	void __fastcall Memo_readmsgDblClick(TObject *Sender);

	void __fastcall Memo_readmsgKeyPress(TObject *Sender, char &Key);

    void __fastcall Memo_readmsgKeyUp(TObject *Sender, WORD &Key,
          TShiftState Shift);

private:

//	int dn_port;

	int dn_databit;

	int dn_stopbit;

	int dn_parity;

	int dn_baudrate;

	ePortStatus nPortStatus;

	eDownState nDownState;

	eDownCancel nDownCancel;

//	void fnPortSet(void);

	bool fnOpenPort(void);

	void fnSerialOutputString(const unsigned char * s);

	void fnSerialOutputByte(const unsigned char c);

	void UUEncode(unsigned char * bufBase, int bufLen);		// User declarations

public:		// User declarations

	__fastcall TFormMain(TComponent* Owner);



public:

    int sio_open(int port);

    int sio_set(void);

};

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

extern PACKAGE TFormMain *FormMain;

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



#define SIO_OK		0

#define SIO_ERROR   -1



#include <termios.h>

const int Baudrate_table[] =

    {B1200, B9600, B19200, B38400, B57600, B115200};

const int Bitcnt_table[] =

    { CS5, CS6, CS7, CS8 };



#endif

⌨️ 快捷键说明

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