资源简介
rfid rc522 linux驱动,功能齐全;可以读写,修改密码
代码片段和文件信息
#include
#include
#include “card_number_buffer.h“
static unsigned char readwrite_buf[CARD_NUMBER_BUF_LEN][CARD_NUMBER_LEN];
static atomic_t read_buf = ATOMIC_INIT(0); //定义原子变量并初始化为0
static atomic_t write_buf = ATOMIC_INIT(0); //定义原子变量并初始化为0
int isEmpty(void)
{
if (atomic_read(&read_buf) == atomic_read(&write_buf))
return 1;
else
return 0;
}
int isFull(void)
{
int w = atomic_read(&write_buf);
int r = atomic_read(&read_buf);
if ((w + 1) % CARD_NUMBER_BUF_LEN == r)
return 1;
else
return 0;
}
void putVal(unsigned char *val)
{
int w = atomic_read(&write_buf);
int r = atomic_read(&read_buf);
//printk(“putVal: r = %d w = %d val = 0x%x\n“ r w val);
if (isFull())
{
r = (r + 1) % CARD_NUMBER_BUF_LEN;
atomic_set(&read_buf r);
}
//readwrite_buf[w] = val;
memcpy(&readwrite_buf[w][0] val CARD_NUMBER_LEN);
w = (w + 1) % CARD_NUMBER_BUF_LEN;
atomic_set(&write_buf w);
}
unsigned char *getVal(unsigned char *val)
{
int r = atomic_read(&read_buf);
if (isEmpty())
return 0;
else
{
//val = readwrite_buf[r];
memcpy(val &readwrite_buf[r][0] CARD_NUMBER_LEN);
r = (r + 1) % CARD_NUMBER_BUF_LEN;
atomic_set(&read_buf r);
}
return val;
}
EXPORT_SYMBOL(isEmpty);
EXPORT_SYMBOL(isFull);
EXPORT_SYMBOL(putVal);
EXPORT_SYMBOL(getVal);
- 上一篇:员工信息管理系统B/S结构
- 下一篇:OLED ssd1306 128x64
相关资源
- 用Beckhoff(倍福)PLC读写巴鲁夫RFID
- CAN Linux驱动代码
- 周立功PCI CAN卡LINUX驱动ubuntu16.04内核
- 物联网中无线传感器节点和RFID数据融
- M1卡破解程序 Mifare 1k
- delphi rfid 读写卡读卡器/写卡器源程序
- RFID读写demo
- 校园一卡通系统中RFID读写器的设计
- 基于Zigbee技术的家用无线网络平台设
- 丹麦“超级”医院 AUH 部署Zeb
- 丹麦“超级”医院AUH部署斑马技
- 用于牛奶质量检测的RFID天线设计
- RFID防碰撞算法(Aloha算法、二进制树
- 基于RFID公交车刷卡系统设计.doc
- RC522 M1卡 S50卡刷卡c程序 项目在用程序
- 基于RFID的公交卡管理系统
- RC522&STM32刷卡例程
- RFID停车场管理系统需求分析说明书
- RFID防碰撞算法论文
- 基于RFID的门禁系统设计.pdf
- 基于M0的LPC11C14射频模块例程
- RFID实验代码
- 基于51单片机射频密码锁设计门禁刷卡
- RC522读写MI卡程序,STC89C52RC调试通过,
- 正点原子Mini开发板的RC522刷卡程序触
- 基于51单片机的刷卡签到系统
- Linux驱动模块单独编译Makefile
- 嵌入式Linux驱动开发基础总结
- PN532上位机读写程序
- PN532上位机读写winfrom源码
评论
共有 条评论