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

📄 scommtooldlg.h

📁 是一个串口通信程序
💻 H
字号:
// SCommToolDlg.h : 头文件
//

#pragma once
#include "afxwin.h"
#include "mscomm1.h"
#include "ColorListBox.h"


#define COM_INPUT_BUFFER_SIZE		0x1fff	/*串口接收缓存大小*/
#define COM_OUTPUT_BUFFER_SIZE		0x1fff

#define RED_LIGHT					true
#define GRAY_LIGHT					true
#define GREEN_LIGHT					true


#define J_XMODEM_ACK					0x06  		 			
#define J_XMODEM_NAK					0x15   				
#define J_XMODEM_CAN					0x18   

#define J_XMODEM_RSN					0x23

#define J_XMODEM_COLOR_DEFAULT			0x00
#define J_XMODEM_COLOR_GREEN			0x1a
#define	J_XMODEM_COLOR_RED				0x1b

/*打印字符串的颜色*/

#define SHOW_COLOR_DEFAULT		RGB(0,0,0)
#define SHOW_COLOR_GREEN		RGB(0,0,205)
#define SHOW_COLOR_RED			RGB(255,0,0)


//串口选择
enum 
{
	COM_PORT_1 = 0,
	COM_PORT_2 = 1,
	COM_PORT_END
};
//波特率选择
enum
{
	BAUD_RATE_1200 = 0,
	BAUD_RATE_2400,
	BAUD_RATE_4800,
	BAUD_RATE_9600,
	BAUD_RATE_19200,
	BAUD_RATE_38400,
	BAUD_RATE_57600,
	BAUD_RATE_115200,
	BAUD_RATE_230400,
	BAUD_RATE_460800,
	BAUD_RATE_921600,
	BAUD_RATE_END
};
//数据位
enum
{
	DATA_BIT_5 = 0,
	DATA_BIT_6,
	DATA_BIT_7,
	DATA_BIT_8,
	DATA_BIT_END
};
//奇偶校验位
enum
{	
	PARI_NONE = 0,
	PARI_EVEN,		//PARITY_EVEN 已经被系统定义
	PART_ODD,
	PARI_END
};
//停止位
enum
{
	STOP_BIT_1	= 0,
	STOP_BIT_1_5,
	STOP_BIT_2,
	STOP_BIT_END
};


//串口工作状态
enum
{
	COM_DEBUG = 0,
	COM_UPLOAD,
	COM_DOWNLOAD,
	COM_BURN,
	COM_SN
};

// CSCommToolDlg 对话框
class CSCommToolDlg : public CDialog
{
// 构造
public:
	CSCommToolDlg(CWnd* pParent = NULL);	// 标准构造函数

// 对话框数据
	enum { IDD = IDD_SCOMMTOOL_DIALOG };

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持


// 实现
protected:
	HICON m_hIcon;

	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	void		InitialComParam(void);	/*初始化串口参数*/		
	CString		UpdateListBoxInfo(CString pInfoStr);	/*接收串口信息在listbox中显示*/
	bool		InitialMSCOMM(void);
	void		UartSendOutChar(int size, unsigned char* pBuff);
	void		StartAutoSendSN();
	void		StopAutoSendSN();

	CComboBox m_commPortComBox;
	CComboBox m_commBaudRateComBox;
	CComboBox m_commDataBitComBox;
	CComboBox m_commParityComBox;
	CComboBox m_commStopBitComBox;
	afx_msg void OnBnClickedButton2();
	afx_msg void OnBnClickedButton3();
	afx_msg void OnCbnSelchangeComboPort();
	DECLARE_EVENTSINK_MAP()
	void OnComm();
	CMscomm1 m_ctrlComm;
	int m_curListBoxLin;
	CColorListBox m_ListInfoBox;
	unsigned int m_strWXData;
	afx_msg void OnBnClickedButton1();
	void SentSN();
	BOOL PreTranslateMessage(MSG* pMsg);
	afx_msg void OnTimer(UINT nIDEvent);
};

⌨️ 快捷键说明

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