亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? maindlg.cpp

?? 射頻卡讀卡芯片rc500的芯片介紹
?? CPP
字號(hào):
// MainDlg.cpp : implementation file
//

#include "stdafx.h"
#include "MifareOne讀寫(xiě)例子.h"
#include "MainDlg.h"

#include "ExportFunc.h"

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

#define BAUD_NUMBER  7
int BaudValue[BAUD_NUMBER] ={ 9600,14400,19200,28800,38400,57600,115200};
/////////////////////////////////////////////////////////////////////////////
// CMainDlg dialog

CMainDlg::CMainDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMainDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMainDlg)
		// 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);

	m_hInstMaster = NULL;
}

void CMainDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMainDlg)
	DDX_Control(pDX, IDC_EDIT_DATA, m_edit_data);
	DDX_Control(pDX, IDC_EDIT_KEY, m_edit_key);
	DDX_Control(pDX, IDC_EDIT_SERIAL, m_edit_serial);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CMainDlg, CDialog)
	//{{AFX_MSG_MAP(CMainDlg)
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch)
	ON_BN_CLICKED(IDC_BUTTON_READ, OnButtonRead)
	ON_BN_CLICKED(IDC_BUTTON_WRITE, OnButtonWrite)
	ON_BN_CLICKED(IDC_BUTTON_HALT, OnButtonHalt)

	ON_CBN_SELCHANGE(IDC_COMBO_PORT, OnSelchangeComboPortBaud)
	ON_CBN_SELCHANGE(IDC_COMBO_RAUD, OnSelchangeComboPortBaud)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMainDlg message handlers

BOOL CMainDlg::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

	//load masterrd.dll to app
	TCHAR szBuf[MAX_PATH];	
	GetModuleFileName(NULL, (LPTSTR)szBuf, MAX_PATH);
	*strrchr( szBuf, '\\' ) = 0;    
	strcat(szBuf, _T("\\MasterRD.Dll"));

	m_hInstMaster = LoadLibrary(szBuf);	 

	if(m_hInstMaster){
		(FARPROC&)rf_init_com           = GetProcAddress(m_hInstMaster,_T("rf_init_com"));
		(FARPROC&)rf_get_snr            = GetProcAddress(m_hInstMaster,_T("rf_get_snr"));


		(FARPROC&)rf_antenna_sta        = GetProcAddress(m_hInstMaster,_T("rf_antenna_sta"));
		(FARPROC&)rf_request            = GetProcAddress(m_hInstMaster,_T("rf_request"));
		(FARPROC&)rf_anticoll           = GetProcAddress(m_hInstMaster,_T("rf_anticoll"));
		(FARPROC&)rf_select             = GetProcAddress(m_hInstMaster,_T("rf_select"));
		(FARPROC&)rf_halt               = GetProcAddress(m_hInstMaster,_T("rf_halt"));


		(FARPROC&)rf_M1_authentication2 = GetProcAddress(m_hInstMaster,_T("rf_M1_authentication2"));
		(FARPROC&)rf_M1_read            = GetProcAddress(m_hInstMaster,_T("rf_M1_read"));
		(FARPROC&)rf_M1_write           = GetProcAddress(m_hInstMaster,_T("rf_M1_write"));















		(FARPROC&)rf_ClosePort          = GetProcAddress(m_hInstMaster,_T("rf_ClosePort"));

		
		
		
		if(
			NULL == rf_init_com           ||
			NULL == rf_antenna_sta    ||
			NULL == rf_request    ||
			NULL == rf_anticoll    ||
			NULL == rf_select    ||
			NULL == rf_halt    ||
			NULL == rf_M1_authentication2    ||
			NULL == rf_M1_read    ||
			NULL == rf_M1_write    ||
			NULL == rf_ClosePort 
		     ){			
			AfxMessageBox(_T("Load MasterRD.dll failed !"));
			return FALSE;
		}
	}
	else{
		AfxMessageBox(_T("Load MasterRD.dll failed !"));
		return FALSE;
	}


	//選擇A密鑰
	((CButton*)GetDlgItem(IDC_RADIO_KEYA))->SetCheck(TRUE);

	//初始化combo數(shù)據(jù)
	CComboBox *pMassCBB = (CComboBox*)GetDlgItem(IDC_COMBO_MASS);
	CString str;

	for( int i = 0 ;i < 64;i++){		
		str.Format(_T("%d"), i);
		pMassCBB->AddString( str);		
		pMassCBB->SetItemData(i, i);		
	} 

	pMassCBB->SetCurSel(0);
	///////////////////////////////
	//設(shè)置edit長(zhǎng)度限制	
	m_edit_key.SetLimitTextEx(6);
	m_edit_data.SetLimitTextEx(16);

	//////////////////////////////
	//初始化串口ComboBox
	CComboBox *pPortCBB = (CComboBox*)GetDlgItem(IDC_COMBO_PORT);
	for( i = 0 ;i < 4;i++){		
		str.Format(_T("%d"), i+1);
		pPortCBB->AddString( str);		
		pPortCBB->SetItemData(i, i+1);		
	} 

	pPortCBB->SetCurSel(0);

	CComboBox *pRaudCBB = (CComboBox*)GetDlgItem(IDC_COMBO_RAUD);
	for( i = 0 ;i < BAUD_NUMBER;i++){		
		str.Format(_T("%d"), BaudValue[i]);
		pRaudCBB->AddString( str);		
		pRaudCBB->SetItemData(i, BaudValue[i]);		
	} 
	pRaudCBB->SetCurSel(2);
	



	//打開(kāi)串行端口
	int state = 1;	
	//port : com1
    //baud : 19200
    state = rf_init_com(1,19200);

	if(state != LIB_SUCCESS){
		rf_ClosePort();			
		MessageBox("不能正確打開(kāi)端口!","Error",MB_OK|MB_ICONERROR);
		return FALSE;
	}
	
	
	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 CMainDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CMainDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}


BOOL CMainDlg::DestroyWindow() 
{
	//關(guān)閉串行端口
    rf_ClosePort();	
	//釋放masterRD.dll
	if(m_hInstMaster) FreeLibrary(m_hInstMaster);
	
	return CDialog::DestroyWindow();
}

//************* 尋卡 **************//
void CMainDlg::OnButtonSearch() 
{
	WORD icdev = 0x0000;
	unsigned char mode = 0x52;
	int status;
	unsigned short TagType;
	unsigned char bcnt = 0x04;//mifare 卡都用4
	unsigned char Snr[MAX_RF_BUFFER];
	unsigned char len;
	unsigned char Size;
	
	status = rf_request(icdev,mode,&TagType);//搜尋所有的卡
	if(status) {//出錯(cuò)
		m_edit_serial.SetWindowText("");
		return ;
	}
	
	status = rf_anticoll(icdev,bcnt,Snr,&len);//返回卡的序列號(hào)
	if(status || len != 4) { //出錯(cuò)
		m_edit_serial.SetWindowText("");
		return ;
	}
	
	status = rf_select(icdev,Snr,len,&Size);//鎖定一張ISO14443-3 TYPE_A 卡
	if(status) {//出錯(cuò)
		m_edit_serial.SetWindowText("");
		return ;
	}
	
	m_edit_serial.SetWindowTextEx(Snr,len);	
}

//************* 讀 *************//   
void CMainDlg::OnButtonRead() 
{
	WORD icdev = 0x0000;
	unsigned char mode = 0x60;
	unsigned char secnr = 0x00;
	int state;
	CString strKey;	
	unsigned char pData[MAX_RF_BUFFER];
	unsigned char cLen;

	CButton* pButton = (CButton*)GetDlgItem(IDC_RADIO_KEYA);
	if((pButton->GetCheck())){//A密鑰
		mode = 0x60; //密鑰
	}
	else{//B密鑰
		mode = 0x61; //密鑰
	}

	m_edit_key.GetWindowTextEx(strKey);
	if(m_edit_key.GetTextLenEx() != 6){
		MessageBox(_T("請(qǐng)?jiān)诿荑€區(qū)輸入6個(gè)字節(jié)的密鑰"),_T("Error"),MB_OK|MB_ICONERROR);
		return ;
	}

	//選擇的塊號(hào)
	CComboBox *pCBB = (CComboBox*)GetDlgItem(IDC_COMBO_MASS);
	int nSel = pCBB->GetCurSel();
	secnr = (unsigned char)(pCBB->GetItemData(nSel));	

	//用指定的密鑰驗(yàn)證Mifare One 卡某一扇區(qū)
	state = rf_M1_authentication2(icdev,mode,(secnr/4)*4,(unsigned char*)strKey.GetBuffer(strKey.GetLength()));
	if(state){
		MessageBox(_T("驗(yàn)證密鑰錯(cuò)"),_T("Error"),MB_OK|MB_ICONERROR);
		m_edit_data.SetWindowText("");
		return;	
	}
	//讀取Mifare One 卡一塊數(shù)據(jù)
	state = rf_M1_read(icdev,secnr,pData,&cLen);
	if(state || cLen != 16){
		MessageBox(_T("讀卡錯(cuò)"),_T("Error"),MB_OK|MB_ICONERROR);
		m_edit_data.SetWindowText("");
		return;	
	}

	m_edit_data.SetWindowTextEx(pData,16);
}

//************* 寫(xiě) *************//
void CMainDlg::OnButtonWrite() 
{
	WORD icdev = 0x0000;
	unsigned char mode = 0x60;
	unsigned char secnr = 0x00;
	int state;
	CString strKey,strEdit;	
	unsigned char Data[16];	

	CButton* pButton = (CButton*)GetDlgItem(IDC_RADIO_KEYA);
	if((pButton->GetCheck())){//A密鑰
		mode = 0x60; //密鑰		
	}
	else{//B密鑰
		mode = 0x61; //密鑰
	}

	m_edit_key.GetWindowTextEx(strKey);
	if(m_edit_key.GetTextLenEx() != 6){
		MessageBox(_T("請(qǐng)?jiān)诿荑€區(qū)輸入6個(gè)字節(jié)的密鑰"),_T("Error"),MB_OK|MB_ICONERROR);
		return ;
	}

	//選擇的扇區(qū)號(hào)
	CComboBox *pCBB = (CComboBox*)GetDlgItem(IDC_COMBO_MASS);
	int nSel = pCBB->GetCurSel();
	secnr = (unsigned char)(pCBB->GetItemData(nSel));	
	
	
	//======================
	//用指定的密鑰驗(yàn)證Mifare One 卡某一扇區(qū)
	state = rf_M1_authentication2(icdev,mode,(secnr/4)*4,(unsigned char*)strKey.GetBuffer(strKey.GetLength()));
	if(state){
		MessageBox(_T("驗(yàn)證密鑰錯(cuò)"),_T("Error"),MB_OK|MB_ICONERROR);
		return;	
	}

	//取得數(shù)據(jù)區(qū)的數(shù)據(jù)
	m_edit_data.GetWindowTextEx(strEdit);			
	memcpy(Data,strEdit.GetBuffer(strEdit.GetLength()),strEdit.GetLength());
	//寫(xiě)mifare one卡的某一扇區(qū)  
	state = rf_M1_write(icdev,secnr,Data);
	if(state){
		MessageBox(_T("寫(xiě)卡錯(cuò)"),_T("Error"),MB_OK|MB_ICONERROR);
		return;	
	}
}

//************* 休眠 *************//
void CMainDlg::OnButtonHalt() 
{
	WORD icdev = 0x0000;
	int state;

	state = rf_halt(icdev);
	if(state){
		MessageBox(_T("HALT錯(cuò)"),_T("Error"),MB_OK|MB_ICONERROR);
	}	
}


void CMainDlg::OnSelchangeComboPortBaud()
{	
	CComboBox *pPortCBB = (CComboBox*)GetDlgItem(IDC_COMBO_PORT);
	CComboBox *pBaudCBB = (CComboBox*)GetDlgItem(IDC_COMBO_RAUD);
	
	int nPort = pPortCBB->GetItemData(pPortCBB->GetCurSel());
	int nBaud = pBaudCBB->GetItemData(pBaudCBB->GetCurSel());

	//關(guān)閉串行端口
    rf_ClosePort();	

	//打開(kāi)串行端口
	int state = 1;	
	
    state = rf_init_com(nPort,nBaud);

	if(state != LIB_SUCCESS){
		rf_ClosePort();			
		MessageBox("不能正確打開(kāi)端口!","Error",MB_OK|MB_ICONERROR);
		return ;
	}	
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品aa午夜观看| 老汉av免费一区二区三区| 国产日韩欧美电影| 精品久久久久一区二区国产| 欧美不卡视频一区| 日韩欧美一级在线播放| 日韩欧美一区在线| 欧美刺激午夜性久久久久久久| 日韩精品一区二区三区在线播放 | 一本久道久久综合中文字幕 | 2023国产精品视频| 精品奇米国产一区二区三区| 精品国产一区a| 久久毛片高清国产| 国产精品大尺度| 亚洲欧美成人一区二区三区| 亚洲一二三四在线观看| 伊人开心综合网| 亚洲福利视频导航| 蜜臀久久久久久久| 激情久久久久久久久久久久久久久久| 国产资源在线一区| 国产剧情在线观看一区二区| 成人免费黄色在线| 色欧美乱欧美15图片| 欧美视频中文一区二区三区在线观看 | 91福利在线播放| 欧美午夜精品一区二区三区| 日韩三级视频在线看| 久久综合精品国产一区二区三区 | 国产精品免费久久| 亚洲最大成人综合| 日精品一区二区| 国产精品456| 91精品办公室少妇高潮对白| 制服丝袜亚洲色图| 国产人妖乱国产精品人妖| 亚洲视频一区在线| 三级亚洲高清视频| 国产xxx精品视频大全| 在线这里只有精品| 欧美成人精品福利| 亚洲情趣在线观看| 麻豆精品一区二区| 99精品视频一区二区三区| 在线综合+亚洲+欧美中文字幕| 久久亚洲精品国产精品紫薇| 亚洲三级免费观看| 日本色综合中文字幕| 国产99久久精品| 欧美日韩不卡一区二区| 国产欧美一区二区精品性| 亚洲一卡二卡三卡四卡五卡| 久久精品国产99国产| 91麻豆文化传媒在线观看| 精品黑人一区二区三区久久| 亚洲丝袜另类动漫二区| 久久国产精品第一页| 欧美性生活大片视频| 国产色91在线| 日韩国产欧美视频| 色综合天天综合给合国产| 欧美v日韩v国产v| 亚洲国产精品久久艾草纯爱| 成人综合激情网| 日韩美女在线视频| 亚洲综合色噜噜狠狠| 国产成人在线视频网站| 日韩一区二区三| 一区二区久久久久| 国产成人小视频| 日韩欧美亚洲一区二区| 亚洲激情自拍视频| 丁香六月综合激情| 日韩精品一区二区三区中文精品| 亚洲综合久久av| 北岛玲一区二区三区四区| 日韩免费观看高清完整版在线观看| 一区二区成人在线| 成人av一区二区三区| 久久欧美一区二区| 美脚の诱脚舐め脚责91 | 91精品福利视频| 国产精品护士白丝一区av| 韩国精品久久久| 欧美一级日韩一级| 亚洲一二三级电影| 在线视频一区二区免费| 亚洲视频在线一区观看| 不卡的av在线| 中文在线一区二区| 国产激情91久久精品导航 | 国产午夜精品美女毛片视频| 久久国产综合精品| 91精品国产综合久久久久久漫画| 一区二区三区日韩| 99久久精品99国产精品| 国产精品免费av| 床上的激情91.| 欧美国产日韩在线观看| 国产精品影视在线观看| 久久久久9999亚洲精品| 国产精品88av| 国产精品色噜噜| 99久久er热在这里只有精品66| 国产精品久久久久一区二区三区| 成人毛片在线观看| 中文字幕色av一区二区三区| 99久久综合精品| 亚洲少妇最新在线视频| 一本大道av伊人久久综合| 亚洲精品伦理在线| 欧美无砖专区一中文字| 午夜精品视频在线观看| 26uuu精品一区二区| 日韩和的一区二区| 欧美精品久久99久久在免费线| 亚洲123区在线观看| 精品视频999| 日韩精品欧美精品| 欧美电视剧在线看免费| 韩国欧美国产1区| 国产欧美一二三区| 成人成人成人在线视频| 亚洲免费视频成人| 欧美性做爰猛烈叫床潮| 五月综合激情婷婷六月色窝| 欧美日产国产精品| 久久精品国产免费| 欧美国产精品一区二区三区| 91小视频在线观看| 亚洲国产精品一区二区久久恐怖片| 欧美一区日本一区韩国一区| 狠狠色狠狠色综合日日91app| 国产欧美日韩精品一区| 色偷偷88欧美精品久久久 | 色老头久久综合| 天使萌一区二区三区免费观看| 亚洲精品在线观看网站| 99免费精品视频| 日本最新不卡在线| 日本一区二区免费在线观看视频 | 99久久伊人网影院| 国产精品久久久久天堂| 91久久精品网| 老司机午夜精品| ...av二区三区久久精品| 91久久香蕉国产日韩欧美9色| 日韩中文字幕区一区有砖一区 | 国产精品成人在线观看| 欧美老肥妇做.爰bbww| 国产精品主播直播| 亚洲一区视频在线| 久久一区二区三区四区| 91麻豆视频网站| 九九九精品视频| 一区二区三区四区高清精品免费观看| 日韩美一区二区三区| 91浏览器在线视频| 捆绑调教一区二区三区| 亚洲色图在线播放| 精品久久人人做人人爽| 在线中文字幕一区| 国产精品一区二区你懂的| 亚洲va欧美va天堂v国产综合| 国产婷婷色一区二区三区在线| 欧美性受极品xxxx喷水| 成人手机电影网| 一区二区三区免费观看| 久久久亚洲国产美女国产盗摄 | 一区二区三区四区乱视频| 精品国产一二三区| 欧美日韩一区二区三区四区| 国产高清亚洲一区| 日韩国产精品大片| 一区二区三区免费看视频| 国产清纯在线一区二区www| 91精品国产一区二区三区蜜臀 | 国产亚洲制服色| 欧美日韩高清影院| 91麻豆123| 成年人国产精品| 国产成人亚洲综合a∨婷婷| 欧美a级理论片| 日韩中文字幕区一区有砖一区 | 色婷婷久久综合| 成人午夜短视频| 国产一区免费电影| 日韩vs国产vs欧美| 亚洲成人一区二区在线观看| 亚洲视频一区在线观看| 国产精品久久免费看| 精品国产一区二区三区忘忧草| 91精品国产麻豆| 欧美日韩精品福利| 欧美熟乱第一页| 欧美日韩亚洲综合一区| 欧美丝袜第三区| 精品视频在线免费观看| 欧美无砖专区一中文字|