📄 cp210xbaudratealiasconfigdlg.cpp
字号:
// CP210xBaudRateAliasConfigDlg.cpp : implementation file
//
#include "stdafx.h"
#include "CP210xBaudRateAliasConfig.h"
#include "CP210xBaudRateAliasConfigDlg.h"
#include "EditConfig.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CCP210xBaudRateAliasConfigDlg dialog
CCP210xBaudRateAliasConfigDlg::CCP210xBaudRateAliasConfigDlg(CWnd* pParent /*=NULL*/)
: CDialog(CCP210xBaudRateAliasConfigDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CCP210xBaudRateAliasConfigDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CCP210xBaudRateAliasConfigDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCP210xBaudRateAliasConfigDlg)
DDX_Control(pDX, IDC_LIST_TITLE, m_Title);
DDX_Control(pDX, IDC_COMBO_DEVICES, m_Devices);
DDX_Control(pDX, IDC_LIST_BAUDRATEALIAS, m_BaudRateAliasList);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCP210xBaudRateAliasConfigDlg, CDialog)
//{{AFX_MSG_MAP(CCP210xBaudRateAliasConfigDlg)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_BN_CLICKED(IDC_BUTTON_GET_CONFIG, OnButtonGetConfig)
ON_BN_CLICKED(IDC_BUTTON_SET_CONFIG, OnButtonSetConfig)
ON_BN_CLICKED(IDC_BUTTON_RESTORE, OnButtonRestoreConfig)
ON_NOTIFY(NM_DBLCLK, IDC_LIST_BAUDRATEALIAS, OnDblclkListBaudratealias)
ON_BN_CLICKED(IDC_BUTTON_REFRESH, ResetDeviceList)
ON_BN_CLICKED(IDC_BUTTON_EXPORT, OnButtonExport)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCP210xBaudRateAliasConfigDlg message handlers
BOOL CCP210xBaudRateAliasConfigDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
// TODO: Add extra initialization here
//All the default data for the part is initialized here
m_DefaultBaudConfigData[0].BaudRate = 15000000;
m_DefaultBaudConfigData[0].BaudGen = 0xFFF0;
m_DefaultBaudConfigData[0].Prescaler = 1;
m_DefaultBaudConfigData[0].Timer0Reload = 0xFFFA;
m_DefaultBaudConfigData[1].BaudRate = 15000000;
m_DefaultBaudConfigData[1].BaudGen = 0xFFF0;
m_DefaultBaudConfigData[1].Prescaler = 1;
m_DefaultBaudConfigData[1].Timer0Reload = 0xFFFA;
m_DefaultBaudConfigData[2].BaudRate = 12000000;
m_DefaultBaudConfigData[2].BaudGen = 0xFFEC;
m_DefaultBaudConfigData[2].Prescaler = 1;
m_DefaultBaudConfigData[2].Timer0Reload = 0xFFF8;
m_DefaultBaudConfigData[3].BaudRate = 921600;
m_DefaultBaudConfigData[3].BaudGen = 0xFFE6;
m_DefaultBaudConfigData[3].Prescaler = 1;
m_DefaultBaudConfigData[3].Timer0Reload = 0xFFF6;
m_DefaultBaudConfigData[4].BaudRate = 576000;
m_DefaultBaudConfigData[4].BaudGen = 0xFFD6;
m_DefaultBaudConfigData[4].Prescaler = 1;
m_DefaultBaudConfigData[4].Timer0Reload = 0xFFF0;
m_DefaultBaudConfigData[5].BaudRate = 500000;
m_DefaultBaudConfigData[5].BaudGen = 0xFFD0;
m_DefaultBaudConfigData[5].Prescaler = 1;
m_DefaultBaudConfigData[5].Timer0Reload = 0xFFEE;
m_DefaultBaudConfigData[6].BaudRate = 460800;
m_DefaultBaudConfigData[6].BaudGen = 0xFFCC;
m_DefaultBaudConfigData[6].Prescaler = 1;
m_DefaultBaudConfigData[6].Timer0Reload = 0xFFEC;
m_DefaultBaudConfigData[7].BaudRate = 256000;
m_DefaultBaudConfigData[7].BaudGen = 0xFFA2;
m_DefaultBaudConfigData[7].Prescaler = 1;
m_DefaultBaudConfigData[7].Timer0Reload = 0xFFDC;
m_DefaultBaudConfigData[8].BaudRate = 250000;
m_DefaultBaudConfigData[8].BaudGen = 0xFFA0;
m_DefaultBaudConfigData[8].Prescaler = 1;
m_DefaultBaudConfigData[8].Timer0Reload = 0xFFDC;
m_DefaultBaudConfigData[9].BaudRate = 230400;
m_DefaultBaudConfigData[9].BaudGen = 0xFF98;
m_DefaultBaudConfigData[9].Prescaler = 1;
m_DefaultBaudConfigData[9].Timer0Reload = 0xFFD9;
m_DefaultBaudConfigData[10].BaudRate = 153600;
m_DefaultBaudConfigData[10].BaudGen = 0xFF64;
m_DefaultBaudConfigData[10].Prescaler = 1;
m_DefaultBaudConfigData[10].Timer0Reload = 0xFFC5;
m_DefaultBaudConfigData[11].BaudRate = 128000;
m_DefaultBaudConfigData[11].BaudGen = 0xFF44; //Originally FF45 in firmware, but changed to FF44 Sep 7 2004
m_DefaultBaudConfigData[11].Prescaler = 1;
m_DefaultBaudConfigData[11].Timer0Reload = 0xFFB9;
m_DefaultBaudConfigData[12].BaudRate = 115200;
m_DefaultBaudConfigData[12].BaudGen = 0xFF30;
m_DefaultBaudConfigData[12].Prescaler = 1;
m_DefaultBaudConfigData[12].Timer0Reload = 0xFFB2;
m_DefaultBaudConfigData[13].BaudRate = 76800;
m_DefaultBaudConfigData[13].BaudGen = 0xFEC8;
m_DefaultBaudConfigData[13].Prescaler = 1;
m_DefaultBaudConfigData[13].Timer0Reload = 0xFF8B;
m_DefaultBaudConfigData[14].BaudRate = 64000;
m_DefaultBaudConfigData[14].BaudGen = 0xFE89;
m_DefaultBaudConfigData[14].Prescaler = 1;
m_DefaultBaudConfigData[14].Timer0Reload = 0xFF73;
m_DefaultBaudConfigData[15].BaudRate = 57600;
m_DefaultBaudConfigData[15].BaudGen = 0xFE5F;
m_DefaultBaudConfigData[15].Prescaler = 1;
m_DefaultBaudConfigData[15].Timer0Reload = 0xFF63;
m_DefaultBaudConfigData[16].BaudRate = 56000;
m_DefaultBaudConfigData[16].BaudGen = 0xFE53;
m_DefaultBaudConfigData[16].Prescaler = 1;
m_DefaultBaudConfigData[16].Timer0Reload = 0xFF5F;
m_DefaultBaudConfigData[17].BaudRate = 51200;
m_DefaultBaudConfigData[17].BaudGen = 0xFE2B;
m_DefaultBaudConfigData[17].Prescaler = 1;
m_DefaultBaudConfigData[17].Timer0Reload = 0xFF50;
m_DefaultBaudConfigData[18].BaudRate = 38400;
m_DefaultBaudConfigData[18].BaudGen = 0xFD8F;
m_DefaultBaudConfigData[18].Prescaler = 1;
m_DefaultBaudConfigData[18].Timer0Reload = 0xFF15;
m_DefaultBaudConfigData[19].BaudRate = 28800;
m_DefaultBaudConfigData[19].BaudGen = 0xFCBF;
m_DefaultBaudConfigData[19].Prescaler = 1;
m_DefaultBaudConfigData[19].Timer0Reload = 0xFEC7;
m_DefaultBaudConfigData[20].BaudRate = 19200;
m_DefaultBaudConfigData[20].BaudGen = 0xFB1E;
m_DefaultBaudConfigData[20].Prescaler = 1;
m_DefaultBaudConfigData[20].Timer0Reload = 0xFE2B;
m_DefaultBaudConfigData[21].BaudRate = 16000;
m_DefaultBaudConfigData[21].BaudGen = 0xFA24;
m_DefaultBaudConfigData[21].Prescaler = 1;
m_DefaultBaudConfigData[21].Timer0Reload = 0xFDCD;
m_DefaultBaudConfigData[22].BaudRate = 14400;
m_DefaultBaudConfigData[22].BaudGen = 0xF97D;
m_DefaultBaudConfigData[22].Prescaler = 1;
m_DefaultBaudConfigData[22].Timer0Reload = 0xFD8E;
m_DefaultBaudConfigData[23].BaudRate = 9600;
m_DefaultBaudConfigData[23].BaudGen = 0xF63C;
m_DefaultBaudConfigData[23].Prescaler = 1;
m_DefaultBaudConfigData[23].Timer0Reload = 0xFC56;
m_DefaultBaudConfigData[24].BaudRate = 7200;
m_DefaultBaudConfigData[24].BaudGen = 0xF2FB;
m_DefaultBaudConfigData[24].Prescaler = 1;
m_DefaultBaudConfigData[24].Timer0Reload = 0xFB1E;
m_DefaultBaudConfigData[25].BaudRate = 4800;
m_DefaultBaudConfigData[25].BaudGen = 0xEC78;
m_DefaultBaudConfigData[25].Prescaler = 1;
m_DefaultBaudConfigData[25].Timer0Reload = 0xF8AD;
m_DefaultBaudConfigData[26].BaudRate = 4000;
m_DefaultBaudConfigData[26].BaudGen = 0xE890;
m_DefaultBaudConfigData[26].Prescaler = 1;
m_DefaultBaudConfigData[26].Timer0Reload = 0xF736;
m_DefaultBaudConfigData[27].BaudRate = 2400;
m_DefaultBaudConfigData[27].BaudGen = 0xD8F0;
m_DefaultBaudConfigData[27].Prescaler = 1;
m_DefaultBaudConfigData[27].Timer0Reload = 0xF15A;
m_DefaultBaudConfigData[28].BaudRate = 1800;
m_DefaultBaudConfigData[28].BaudGen = 0xCBEB;
m_DefaultBaudConfigData[28].Prescaler = 1;
m_DefaultBaudConfigData[28].Timer0Reload = 0xEC78;
m_DefaultBaudConfigData[29].BaudRate = 1200;
m_DefaultBaudConfigData[29].BaudGen = 0xB1E0;
m_DefaultBaudConfigData[29].Prescaler = 1;
m_DefaultBaudConfigData[29].Timer0Reload = 0xE2B4;
m_DefaultBaudConfigData[30].BaudRate = 600;
m_DefaultBaudConfigData[30].BaudGen = 0x63C0;
m_DefaultBaudConfigData[30].Prescaler = 1;
m_DefaultBaudConfigData[30].Timer0Reload = 0xC568;
m_DefaultBaudConfigData[31].BaudRate = 300;
m_DefaultBaudConfigData[31].BaudGen = 0xB1E0;
m_DefaultBaudConfigData[31].Prescaler = 4;
m_DefaultBaudConfigData[31].Timer0Reload = 0x8AD0;
// Setup for the header column labels
m_Title.InsertColumn(0, "", LVCFMT_CENTER, 20);
m_Title.InsertColumn(1, "Application Requested Baud Rate Range", LVCFMT_CENTER, 210);
m_Title.InsertColumn(2, "UART Baud Rate", LVCFMT_CENTER, 210);
// Setup for the main column labels
m_BaudRateAliasList.InsertColumn(0, "#", LVCFMT_CENTER, 20);
m_BaudRateAliasList.InsertColumn(1, "High", LVCFMT_CENTER, 105);
m_BaudRateAliasList.InsertColumn(2, "Low", LVCFMT_CENTER, 105);
m_BaudRateAliasList.InsertColumn(3, "Desired", LVCFMT_CENTER, 105);
m_BaudRateAliasList.InsertColumn(4, "Actual", LVCFMT_CENTER, 105);
ListView_SetExtendedListViewStyleEx(m_BaudRateAliasList.m_hWnd, LVS_EX_FULLROWSELECT, LVS_EX_FULLROWSELECT);
// Reset the device list to obtain all connected CP210x devices
ResetDeviceList();
// Obtain the configuration of the selected item
OnButtonGetConfig();
return TRUE; // return TRUE unless you set the focus to a control
}
// If you add a minimize button to your dialog, you will need the code below
// to draw the icon. For MFC applications using the document/view model,
// this is automatically done for you by the framework.
void CCP210xBaudRateAliasConfigDlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // device context for painting
SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -