- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验四 Stay Quiet 功能的实现
实验目的:
设计开发一支可连接实验系统平台并且可以执行使电子标签进入静默状态操作的应用程序。
实验内容:
1、用VB 6.0 开发软件,设计开发出如下应用程序界面图10.51:
图 10.51
2、编写代码,运行程序能达到实验目的。
基本原理:
VB 语言编程规范;DLL 调用规范;
实验步骤:
一、在实验3 的基础上启动VB 6.0 开发软件平台
拷贝 实验3 文件夹,粘贴并更改文件夹名字为:实验4,进入文件夹ISO15693_Reader 里面,双击 ISO15693_Reader.vbp 文件,启动VB 6.0 开发软件。同实验二,添加界面内容如图 10.52:
图 10.52
这样,本次实验的程序界面的工作,已经设计完成,下面开始代码部分的工作。
二、编写实验代码
相关文件的放置位置同实验二。
首先,在模块下,mdlDLL.bas 文件里面声明 Quiet 函数,如下:
Public Declare Function Quiet Lib ReadDLL.dll (ByRef tagUID As Byte) As Long
函数名: (静默标签)Quiet
功能:使标签进入静默状态。
参数说明:
Input:
tagUID:要静默标签的UID(8 个bytes,从高位到低位)。
Output :
00,表示操作正确,
01,表示操作错误。
此时,写好的 mdlDLL.bas 文件如图10.53 所示:
图 10.53
同实验二,进入窗体代码文件编写。
首先,修改 For i = 0 To 2 为 For i = 0 To 3 在原来的3 个功能上再多增加一个功能,这个功能就是 Stay Quiet 的功能。
然后,就添加这部分功能代码,如下:
Case 3 Quiet
ret = Quiet(retByte(0))
strLog = Convert(ret)
调用 Stay Quiet 函数,执行使对应 UID 号码的标签进入静默状态的功能,并得到操作结果的状态信息,存放到 ret 变量里面,并转换成 Success(如果写数据成功) 或者 ERROR(如果写数据失败) 字符。
整个 Private Sub cmdRun_Click() 过程代码如下:
Private Sub cmdRun_Click()
Dim lCount As Long
Dim strInfo As String
Dim strLog As String
Dim ret As Long
Dim i, j, k As Integer
strLog =
txtInfo.Text =
Erase retValue
For i = 0 To 3
If optCMD(i).Value = True Then
Select Case i
Case 0 inventory 7 读多标签模式,Hex 27 读单个标签模式
listTag.Clear
ret = Inventory(retByte(0), 7, lCount)
If lCount = 0 Then
ret = 1
End If
If ret = 0 Then
For k = 0 To lCount - 1
strInfo =
For j = 0 To 7
strInfo = strInfo Format(Hex(retByte(k * 8 + j)), 00)
Next
listTag.AddItem strInfo
Next
End If
strLog = Convert(ret)
Case 1 读单个BLOCK
ret = ReadSingleBlock(retByte(0), CByte(txtAdd.Text), CByte(txtSize.Text),retValue(0))
If ret = 0 Then
For k = 0 To CByte(txtSize.Text) - 1
txtBlock(k) = Format(Hex(retValue(k)), 00)
Next
End If
strLog = Convert(ret)
Case 2 写 BLOCK
For k = 0 To CByte(txtSize.Text) - 1
retValue(k) = h txtBlock(k)
Next
ret = WriteSingleBlock(retByte(0), CByte(txtAdd.Text), CByte(txtSize.Text),retValue(0))
strLog = Convert(ret)
Case 3 Quiet
ret = Quiet(retByte(0))
strLog =
您可能关注的文档
最近下载
- 【一建经济】21-JG-冲关宝典(中).pdf VIP
- 石油工程-岩石力学-试卷.pdf VIP
- 【一建经济】21-JG-冲关宝典(上).pdf VIP
- 教师的专业成长课件.pptx VIP
- 西师版小学综合实践活动方案五年级上册.pdf VIP
- 2024年四川省巴中市中考数学试卷(含答案).doc VIP
- 生成式人工智能在初中生物学教学中的应用探究.pdf VIP
- 《装配式混凝土建筑构件生产》课件——本课程学习方法.pptx VIP
- 精品解析:2023-2024学年北京市海淀区人教版五年级上册期末测试数学试卷(解析版).docx VIP
- 2011年数学建模B题国家一等奖2011年数学建模B题国家一等奖.pdf VIP
文档评论(0)