RFID实验报告读写一体.docx

上传人:b****4 文档编号:4070665 上传时间:2022-11-27 格式:DOCX 页数:7 大小:81.94KB
下载 相关 举报
RFID实验报告读写一体.docx_第1页
第1页 / 共7页
RFID实验报告读写一体.docx_第2页
第2页 / 共7页
RFID实验报告读写一体.docx_第3页
第3页 / 共7页
RFID实验报告读写一体.docx_第4页
第4页 / 共7页
RFID实验报告读写一体.docx_第5页
第5页 / 共7页
点击查看更多>>
下载资源
资源描述

RFID实验报告读写一体.docx

《RFID实验报告读写一体.docx》由会员分享,可在线阅读,更多相关《RFID实验报告读写一体.docx(7页珍藏版)》请在冰豆网上搜索。

RFID实验报告读写一体.docx

RFID实验报告读写一体

郑州轻工业学院

实验报告

 

名称:

《课程名称》综合实验

 

院(系):

计算机与通信工程学院

专业班级:

网络工程(物联网技术13-01)

指导教师:

 

 

时间:

2015-2016

(1)

 

郑州轻工业学院

实验报告

名称:

《课程名称》综合实验

院(系):

计算机与通信工程学院

专业班级:

网络工程(物联网技术13-01)

姓名:

学号:

指导教师:

杨永双陈燕

成绩评定表

内容

成绩

评语

平时成绩(10%)

考核成绩(50%)

报告成绩(40%)

总分(100)

评定成绩

 

时间:

2015-2016

(1)

 

实验五:

读卡/写卡功能

1实验任务和目的

1.1实验任务

熟悉VC++6.0环境。

熟悉M1卡中读卡所需调用函数的规则。

实现M1卡任一块的读/写功能。

1.2实验目的

能够选取扇区号和块号。

能够显示选定块号的内容。

能够将内容写入选定的块中。

实验过程和结果:

1、用MicrosoftVisualC++新建一个工程(MFCAppWizard[exe]),应用程序类型是基本对话框,应用程序向导创建完成之后,系统进入到对话框编译页面的主页面,用控件设计对话框,对话框的设计如下图所示:

2、编写程序。

(1)连接设备。

双击连接设备按钮,进入程序设计界面。

代码如下:

HANDLEicdev;

intst;

voidCRFEYEDlg:

:

OnButton1()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

icdev=rf_usbinit();//返回设备描述符

if(icdev>0)//如果设备连接成功,读卡。

{

m_list.ResetContent();//清除列表框数据

m_list.AddString("设备连接成功!

");

unsignedlongsnr;

st=rf_card(icdev,1,&snr);//寻卡并返回卡片的系列号

if(st==0)

{

m_list.AddString("读卡成功!

");//在列表框中显示读卡状况

}

else

{

m_list.AddString("读卡失败!

");//在列表框中显示读卡状况

}

rf_beep(icdev,50);//控制蜂鸣器,蜂鸣时间,单位:

毫秒

}

(2)读数据。

能够读出指定块号的内容,代码如下:

voidCRFEYEDlg:

:

OnButton2()

{

//TODO:

Addyourcontrolnotificationhandlercodehere

UpdateData();//更新变量数据,区为m_sector,块为m_kuai。

m_list1.ResetContent();//清空列表框数据

st=rf_authentication(icdev,0,m_sector);/*验证某一扇区密码,

认证第m_sector(选定的扇区)扇区的密码A*/

if(st!

=0)

{

m_list1.AddString("验证密码失败!

");

}

unsignedchardatabuff[17];

ZeroMemory(databuff,17);

st=rf_read(icdev,m_sector*4+m_kuai,databuff);/*从一个已选择的卡中

读取一个数据块(选定的块m_kuai);databuff为读出的数据*/

if(st==0)

{

m_list1.AddString((char*)databuff);//在列表框中显示读出的数据

}

else

m_list1.AddString("读数据失败!

");

rf_beep(icdev,30);//控制蜂鸣器,蜂鸣时间,单位:

毫秒

}

(3)写数据。

对指定的区块进行写操作。

代码如下:

voidCRFEYEDlg:

:

OnButton5()

{

UpdateData();//更新变量数据,区为m_sector1,块为m_kuai1。

m_list3.ResetContent();//清空第三个列表框中的数据

st=rf_authentication(icdev,0,m_sector1);/*验证选定扇区的密码,

密码类型为密码A*/

if(st!

=0)//判断验证密码是否失败

{

m_list3.AddString("验证密码失败!

");

}

CStringdata=m_edit5;//把编辑框中的数据赋值给变量data。

char*data1=data.GetBuffer(data.GetLength());

st=rf_write(icdev,m_sector1*4+m_kuai1,(unsignedchar*)data1);/*向卡中写入数据,

一次必须写一个块,为16个字节;块地址m_sector1*4+m_kuai1;要写入的数据,长度为16字节*/

if(st==0)//判断数据是否写入成功

{

m_list3.AddString("写数据成功!

");

}

else

m_list3.AddString("写数据失败!

");

unsignedchardatabuff[17];

ZeroMemory(databuff,17);

st=rf_read(icdev,m_sector1*4+m_kuai1,databuff);/*读取指定数据块的数据*/

if(st==0)

{

m_list3.AddString((char*)databuff);//显示读出的数据

}

else

m_list3.AddString("读数据失败!

");

rf_beep(icdev,30);//控制蜂鸣器,蜂鸣时间,单位:

毫秒

}

3、程序编译之后的运行效果。

(1)运行程序,点击连接设备。

显示结果如下:

(2)读卡操作。

区选为1,块选为0,点击读数据,读出之前写入的数据,效果如下:

(3)写卡操作。

区选为1,块选为1,点击写数据,运行结果如下:

(4)点击读数据(区选为1,块选为1)读出之前写入的数据,效果如下:

(5)点击断开连接,显示效果如下:

(6)点击清空数据,效果如下:

四、实验心得。

通过本次试验,我基本熟悉了VC++6.0环境。

能够编写基本的对话框程序,明白了调用函数的规则,对读卡、写卡需要使用的函数有了基本了解,明白了阅读器与电子标签之间的通信过程,对整个射频识别系统有了清晰的认识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1