资源简介
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
相关资源
- RFID大型智能仓库管理系统的设计
- RFID RC522 stm32f103c8t6 读写demo
- 基于51单片机的RFID智能门禁系统源码
- rc522的使用方法
- C51_ESP8266_rc522.rar
- ISO14443协议
- 125K非接触ID卡读卡器设计
- CUID卡专用写卡软件
- 基于MFRC500型读卡器的无源RFID系统设计
- 基于FPGA的RFID读写器设计
- 基于RFID技术的售水控制系统设计
- 基于MF RC500型读卡器的无源RFID系统设
- 移植到STM32的MFRC522底层驱动程序
- iData扫描枪RFID串口开发DEMO
- 台湾4100 COB.pdf
- 带有串行接口的FRAM RFID LSI
- CC430F5135的无线低功耗RFID系统设计
- TL-WN725N 1.0 Linux驱动补丁
- NFC读写工具,RFIDNTAG
- RFID智能园区解决方案
- Rfid通信-网口模式
-
实测可用 联发科 Rali
nk MT7601U无线网 - RTL8811AU 新版linux驱动程序
- 一套完整的门禁系统(原理图+源程序
- 三菱Q系列PLC和OMRON RFID ModbusTCP 通讯
- ISO18000-6C(EPC Global Gen2) V2.0.1 新版协
- RFID读写源代码
- STM32RC522程序
- 基于STM32的RFID_RC522+KEY+LCD源码
- linux RTL8192EU 无线网卡驱动,亲测可用
评论
共有 条评论