云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 基于RFID门禁管理系统的设计 - 图文

基于RFID门禁管理系统的设计 - 图文

  • 62 次阅读
  • 3 次下载
  • 2026/4/23 7:56:10

北京理工大学珠海学院2010届本科生毕业设计

apiStatus WINAPI rfidapi03_6c_read_id( HANDLE hCom, unsigned char mask_len, unsigned char *mask, unsigned char *tag_count, unsigned char *tags_id, unsigned char *ant_no ,int* ms_count);

参数:

hCom: 传入读写器的串口句柄。

mask_len: mask数组的位(bit)长,即用于标识传入mask参数的值共有多少二进位(bit)有效。如果不指定匹配条件,则mask_len = 0。

mask: 指定匹配条件的数组值。

tag_count: 返回读出的标签数,参考表4-1。

表4-1 返回读出的标签状态关系

function rfidapi03_6c_read_id

tag_count 0 >=1 Description 没有标签返回 返回N张标签 tags_id: 返回读到的标签ID, 该数组中的第一个字节(byte)表示读到的标签ID长度,例如: 如tag_id为0x123456789…,标签的ID为0x12字节(byte)

ant_no: 返回读到的天线号(指示标签数据从该天线号读到) ms_count: 返回执行此函数所耗费的时间(毫秒)。 返回值:

返回状态标识,请参照附录,状态标识说明。 其主要的函数实现:

void CUserDlg::GetTagRecord(CMylistCtrl *m_list,bool b_ReadTag) {status= rfidapi03_6c_read_id

(g_hCom,g_RAddr,QValue,Bank,Point,ReadLen,MaskLength,Mask,&TagCount,&DataLen,TagID);

CUserDlg dlg; char temp[128];

sprintf(temp,dlg.FormatData(&TagID[0],DataLen)); str.Format(\if (status == ERR_NONE) {

g_b_readsuccess = TRUE; }

//如果没读到返回

if (str==\

24

北京理工大学珠海学院2010届本科生毕业设计

{ return; }

4.5写标签模块设计

该模块中的函数结构图:

CEditRecord() OnBtnSave() JudgeID() Writedata() 图4-9 标签读取函数结构图

1)写标签数据API函数

apiStatus WINAPI rfidapi03_6c_write( HANDLE hCom, unsigned char bank, unsigned short offset, unsigned short write_len, unsigned char maskbitcount, unsigned char *mask, unsigned char *data, int* ms_count);

参数:

hCom: 传入读写器的串口句柄。 bank: 指定标签中数据区;

offset: 指定标签中数据区内的偏移地址;

write_len: 指定写入的数据长度,单位:字(word)。

maskbitcount: mask数组的位(bit)长,即用于标识传入mask参数的值共有多少二进位(bit)有效。如果不指定匹配条件,则maskbitcount = 0。

mask: 指定标签的匹配条件的数组。 data:: 写入的数据内容。

ms_count : 返回执行此函数所耗费的时间(毫秒)。 返回值:

返回状态标识,请参照附录,状态标识说明。 其主要的函数实现:

bool CEditRecord::writedata(CString data) {

25

北京理工大学珠海学院2010届本科生毕业设计

while(i>0) { tagData);

if (status == ERR_NONE) {

g_editdlg_id = data; MessageBox(\写数据成功\ return TRUE; } }

if (status != ERR_NONE) {

MessageBox(\写数据失败,请重新写!\ return FALSE; }

return FALSE; }

i--;

status = rfidapi03_6c_read_id(g_hCom, g_RAddr, QValue, Bank, Point, uclen,

4.6用户信息管理模块设计

该模块中的函数结构图:

CMotTagDLG() OnBtnSave()//修改 OnBtnDeltag()//删除 图4-10 标签修改函数结构图

修改用户信息的函数实现: void CMotTagDLG::OnBtnsave() {

CString m_sex1; //列表控制初始化

pCombo1->GetLBText(pCombo1->GetCurSel(),m_sex1);

26

CComboBox* pCombo1 = (CComboBox*)GetDlgItem(IDC_COMBO1);

北京理工大学珠海学院2010届本科生毕业设计

m_sex1.MakeUpper(); ot\

CString str_name = m_name; }

删除用户信息函数实现: void CUserDlg::OnBtnDeltag() {

// TODO: Add your control notification handler code here CDatabase db; //打开数据库类 CString str_id = m_id;

CString str_age = m_age; CString str_sex = m_sex1; CString str_position = m_position;

CString sql;

UpdateData(true);

CDatabase db;//打开数据库类

db.Open(NULL,FALSE,FALSE,\

//往数据库插入数据

sql=\try { }

catch(CDBException e) { }

AfxMessageBox(\提交失败\db.ExecuteSQL(sql);

MessageBox(\信息更新成功!\CDialog::OnOK();

sex='\

db.Open(NULL,FALSE,FALSE,\

if (m_selectID == \

{

AfxMessageBox(\未选择要删除的行\

27

搜索更多关于: 基于RFID门禁管理系统的设计 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

北京理工大学珠海学院2010届本科生毕业设计 apiStatus WINAPI rfidapi03_6c_read_id( HANDLE hCom, unsigned char mask_len, unsigned char *mask, unsigned char *tag_count, unsigned char *tags_id, unsigned char *ant_no ,int* ms_count); 参数: hCom: 传入读写器的串口句柄。 mask_len: mask数组的位(bit)长,即用于标识传入mask参数的值共有多少二进位(bit)有效。如果不指定匹配条件,则mask_len = 0。 mask: 指定匹配条件的数组值。 tag_count: 返回读出的标签数,参考表4-1

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com