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

📄 usbvreqdialog.cpp

📁 usb 上位机程序
💻 CPP
字号:
// UsbvreqDialog.cpp : implementation file
//

#include "stdafx.h"
#include "SEEDDEC2407.h"
#include "UsbvreqDialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CUsbvreqDialog dialog


CUsbvreqDialog::CUsbvreqDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CUsbvreqDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CUsbvreqDialog)
	m_VendorReq = 0;
	m_strEndpoint0data = _T("");
	m_VendorIndex = 0;
	m_VendorLength = 0;
	m_VendorValue = 0;
	//}}AFX_DATA_INIT
}


void CUsbvreqDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CUsbvreqDialog)
	DDX_Control(pDX, IDC_DIRECTION, m_ctrDirection);
	DDX_Text(pDX, IDC_REQUEST, m_VendorReq);
	DDX_Text(pDX, IDC_ENDP0DATA, m_strEndpoint0data);
	DDX_Text(pDX, IDC_INDEX, m_VendorIndex);
	DDX_Text(pDX, IDC_LENGTH, m_VendorLength);
	DDX_Text(pDX, IDC_VALUE, m_VendorValue);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CUsbvreqDialog, CDialog)
	//{{AFX_MSG_MAP(CUsbvreqDialog)
	ON_CBN_CLOSEUP(IDC_DIRECTION, OnCloseupDirection)
	ON_CBN_DROPDOWN(IDC_DIRECTION, OnDropdownDirection)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CUsbvreqDialog message handlers

void CUsbvreqDialog::OnOK() 
{
	// TODO: Add extra validation here
	
	CDialog::OnOK();
	strtodata();
}

void CUsbvreqDialog::strtodata()
{
	int i;
	int j= 0;
	int usrdata = 0;
	LPCTSTR strbuffer;
	int longth = 0;
	strbuffer = m_strEndpoint0data.GetBuffer(100);
	for(i = 0;i<m_VendorLength;)
	{
		if(strbuffer[i] !=' ')
		{
			usrdata = chartonumber(strbuffer[i]);
			m_Endpoint0data[j]=usrdata;
		}
		i = i +1;
		if(strbuffer[i] !=' ')
		{
			usrdata = chartonumber(strbuffer[i]);
			m_Endpoint0data[j]=usrdata+ m_Endpoint0data[j]* (0x10);
			j++;
		}
		i = i+1;
	}
}

int CUsbvreqDialog::chartonumber(char str)
{
			int usrdata;
			switch(str)
			{
				case '0':
					usrdata = 0;
					break;
				case '1':
					usrdata = 1;
					break;
				case '2':
					usrdata = 2;
					break;
				case '3':
					usrdata = 3;
					break;
				case '4':
					usrdata = 4;
					break;
				case '5':
					usrdata = 5;
					break;
				case '6':
					usrdata = 6;
					break;
				case '7':
					usrdata = 7;
					break;
				case '8':
					usrdata = 8;
					break;
				case '9':
					usrdata = 9;
					break;
				case 'A':
				case 'a':
					usrdata = 0xa;
					break;
				case 'B':
				case 'b':
					usrdata = 0xb;
					break;
				case 'C':
				case 'c':
					usrdata = 0xc;
					break;
				case 'D':
				case 'd':
					usrdata = 0xd;
					break;
				case 'E':
				case 'e':
					usrdata = 0xe;
					break;
				case 'F':
				case 'f':
					usrdata = 0xf;
					break;
				default:
					AfxMessageBox("有无效数据,请重新输入");
					usrdata = 0xff;
			}
			return usrdata;
}

void CUsbvreqDialog::OnCloseupDirection() 
{
	// TODO: Add your control notification handler code here
		int	nSel;
	if ((nSel=m_ctrDirection.GetCurSel())!=CB_ERR)
	{
		m_ctrDirection.GetLBText( nSel, m_sDirSelection );
		m_VendorDir = nSel;
	}
	else
	{
		m_ctrDirection.ResetContent();
		m_ctrDirection.AddString(m_sDirSelection);
 		m_ctrDirection.SelectString(-1,m_sDirSelection);
	}
}

void CUsbvreqDialog::OnDropdownDirection() 
{
	// TODO: Add your control notification handler code here
	m_ctrDirection.ResetContent();
	m_ctrDirection.AddString("1:IN");
	m_ctrDirection.AddString("0:OUT");
}

BOOL CUsbvreqDialog::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	m_ctrDirection.SetWindowText(m_sDirSelection);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

⌨️ 快捷键说明

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