📄 fm1715.h
字号:
//#define Rxcontrol2 0x1e //解码控制及选择接收源 *
//#define RxWait 0x21 //选择发射和接收之间的时间间隔 *
//#define ChannelRedundancy 0x22 //RF 通道检验模式设置寄存器
#define ChannelRedundancyW(x) WRITE_FM(0x22,x) //RF 通道检验模式设置寄存器
#define ChannelRedundancyR READ_FM(0x22) //RF 通道检验模式设置寄存器
//#define CRCPresetLSB 0x23 //CRC 协处理器预置值低8 位
#define CRCPresetLSBW(x) WRITE_FM(0x23,x) //CRC 协处理器预置值低8 位
#define CRCPresetLSBR READ_FM(0x23) //CRC 协处理器预置值低8 位
//#define CRCPresetMSB 0x24 //CRC 协处理器预置值高8 位 *
//#define MFOUTSelect 0x26 //mf OUT 选择配置寄存器
#define MFOUTSelectW(x) WRITE_FM(0x26,x) //mf OUT 选择配置寄存器
#define MFOUTSelectR READ_FM(0x26) //mf OUT 选择配置寄存器
//#define TimerClock 0x2a //定时器周期设置寄存器
#define TimerClockW(x) WRITE_FM(0x2a,x) //定时器周期设置寄存器
#define TimerClockR READ_FM(0x2a) //定时器周期设置寄存器
//#define TimerControl 0x2b //定时器控制寄存器
#define TimerControlW(x) WRITE_FM(0x2b,x) //定时器控制寄存器
#define TimerControlR READ_FM(0x2b) //定时器控制寄存器
//#define TimerReload 0x2c //定时器初值寄存器
#define TimerReloadW(x) WRITE_FM(0x2c,x) //定时器初值寄存器
#define TimerReloadR READ_FM(0x2c) //定时器初值寄存器
//#define TypeSH 0x31 //上海标准选择寄存器
#define TypeSHW(x) WRITE_FM(0x31,x) //上海标准选择寄存器
#define TypeSHR READ_FM(0x31) //上海标准选择寄存器
//#define TestDigiSelect 0x3d //测试管脚配置寄存器 *
#else
//并行接口
//#define Page_Sel XBYTE[0x7000] //页写寄存器
#define Page_SelW(x) XBYTE[0x0300]=x //页写寄存器
//#define Command XBYTE[0x7001] //命令寄存器
#define CommandW(x) XBYTE[0x0301]=x //命令寄存器
#define CommandR XBYTE[0x0301] //命令寄存器
//#define FIFO XBYTE[0x7002] //64 字节FIFO 缓冲的输入输出寄存器
#define FIFOW(x) XBYTE[0x0302]=x //64 字节FIFO 缓冲的输入输出寄存器
#define FIFOR XBYTE[0x0302] //64 字节FIFO 缓冲的输入输出寄存器
//#define PrimaryStatus XBYTE[0x7003] //发射器,接收器及FIFO 的状态寄存器1
//#define FIFO_Length XBYTE[0x7004] //当前FIFO 内字节数寄存器
#define FIFO_LengthR XBYTE[0x0304] //当前FIFO 内字节数寄存器
//#define SecondaryStatus XBYTE[0x7005] //各种状态寄存器2
#define SecondaryStatusR XBYTE[0x0305] //各种状态寄存器2
//#define InterruptEn XBYTE[0x7006] //中断使能/禁止寄存器
#define InterruptEnW(x) XBYTE[0x0306]=x //中断使能/禁止寄存器
#define InterruptEnR XBYTE[0x0306] //中断使能/禁止寄存器
//#define Int_Req XBYTE[0x7007] //中断请求标识寄存器
#define Int_ReqW(x) XBYTE[0x0307]=x //中断请求标识寄存器
#define Int_ReqR XBYTE[0x0307] //中断请求标识寄存器
//#define Control XBYTE[0x7009] //控制寄存器
#define ControlW(x) XBYTE[0x0309]=x //控制寄存器
#define ControlR XBYTE[0x0309] //控制寄存器
//#define ErrorFlag XBYTE[0x700A] //错误状态寄存器
#define ErrorFlagR XBYTE[0x030A] //错误状态寄存器
//#define CollPos XBYTE[0x700B] //冲突检测寄存器
#define CollPosR XBYTE[0x030B] //冲突检测寄存器
//#define TimerValue XBYTE[0x700c] //定时器当前值
//#define Bit_Frame XBYTE[0x700F] //位帧调整寄存器
#define Bit_FrameW(x) XBYTE[0x030F]=x //位帧调整寄存器
#define Bit_FrameR XBYTE[0x030F] //位帧调整寄存器
//#define TxControl XBYTE[0x7011] //发送控制寄存器
#define TxControlW(x) XBYTE[0x0311]=x //发送控制寄存器
#define TxControlR XBYTE[0x0311] //发送控制寄存器
//#define CWConductance XBYTE[0x7012] //选择发射脚TX1 和TX2 发射天线的阻抗
#define CWConductanceW(x) XBYTE[0x0312]=x //选择发射脚TX1 和TX2 发射天线的阻抗
#define CWConductanceR XBYTE[0x0312] //选择发射脚TX1 和TX2 发射天线的阻抗
//#define ModConductance XBYTE[0x7013] //定义输出驱动阻抗
#define ModConductanceW(x) XBYTE[0x0313]=x //定义输出驱动阻抗
#define ModConductanceR XBYTE[0x0313] //定义输出驱动阻抗
//#define CoderControl XBYTE[0x7014] //定义编码模式和时钟频率
#define CoderControlW(x) XBYTE[0x0314]=x //定义编码模式和时钟频率
#define CoderControlR XBYTE[0x0314] //定义编码模式和时钟频率
//#define TypeBFraming XBYTE[0x7017] //定义ISO14443B 帧格式
#define TypeBFramingW(x) XBYTE[0x0317]=x //定义ISO14443B 帧格式
#define TypeBFramingR XBYTE[0x0317] //定义ISO14443B 帧格式
//#define DecoderControl XBYTE[0x701a] //解码控制寄存器
#define DecoderControlW(x) XBYTE[0x031a]=x //解码控制寄存器
#define DecoderControlR XBYTE[0x031a] //解码控制寄存器
//#define Rxcontrol2 XBYTE[0x701e] //解码控制及选择接收源
//#define RxWait XBYTE[0x7021] //选择发射和接收之间的时间间隔
//#define ChannelRedundancy XBYTE[0x7022] //RF 通道检验模式设置寄存器
#define ChannelRedundancyW(x) XBYTE[0x0322]=x //RF 通道检验模式设置寄存器
#define ChannelRedundancyR XBYTE[0x0322] //RF 通道检验模式设置寄存器
//#define CRCPresetLSB XBYTE[0x7023] //CRC 协处理器预置值低8 位
#define CRCPresetLSBW(x) XBYTE[0x0323]=x //CRC 协处理器预置值低8 位
#define CRCPresetLSBR XBYTE[0x0323] //CRC 协处理器预置值低8 位
//#define CRCPresetMSB XBYTE[0x7024] //CRC 协处理器预置值高8 位
//#define MFOUTSelect XBYTE[0x7026] //mf OUT 选择配置寄存器
#define MFOUTSelectW(x) XBYTE[0x0326]=x //mf OUT 选择配置寄存器
#define MFOUTSelectR XBYTE[0x0326] //mf OUT 选择配置寄存器
//#define TimerClock XBYTE[0x702a] //定时器周期设置寄存器
#define TimerClockW(x) XBYTE[0x032a]=x //定时器周期设置寄存器
#define TimerClockR XBYTE[0x032a] //定时器周期设置寄存器
//#define TimerControl XBYTE[0x702b] //定时器控制寄存器
#define TimerControlW(x) XBYTE[0x032b]=x //定时器控制寄存器
#define TimerControlR XBYTE[0x032b] //定时器控制寄存器
//#define TimerReload XBYTE[0x702c] //定时器初值寄存器
#define TimerReloadW(x) XBYTE[0x032c]=x //定时器初值寄存器
#define TimerReloadR XBYTE[0x032c] //定时器初值寄存器
//#define TypeSH XBYTE[0x7031] //上海标准选择寄存器
#define TypeSHW(x) XBYTE[0x0331]=x //上海标准选择寄存器
#define TypeSHR XBYTE[0x0331] //上海标准选择寄存器
//#define TestDigiSelect XBYTE[0x703d] //测试管脚配置寄存器
#endif
//#endif
uchar Clear_FIFO(void);//清除FM1715的FIFO中的数据
void Write_FIFO(uchar count,uchar idata *buff);//向FM1715的FIFO中写入x 字节数据
uchar Read_FIFO(uchar idata *buff,uchar rlen);//从FM1715的FIFO中读出x 字节数据
uchar Init_FM1715(void);//该函数实现对FM1715初始化操作
uchar FM1715_Bus_Sel(void);//该函数实现对FM1715操作的总线方式(并行总线,SPI)选择
uchar Command_Send(uchar count, uchar idata * buff, uchar Comm_Set);//该函数实现向FM1715发送命令集的功能
void Set_BitFraming(uchar row,uchar col);//该函数设置待发送数据的字节数
//uchar Check_UID(void);//该函数实现对收到的卡片的序列号的判断 接收到的卡片UID号的判别
uchar Check_UID(uchar *CardID);//该函数实现对收到的卡片的序列号的判断 接收到的卡片UID号的判别
uchar MIF_Halt(void);//该函数实现暂停MIFARE卡
uchar Request(uchar mode);//该函数实现对放入FM1715操作范围之内的卡片的Request操作
//uchar AntiColl(void);//该函数实现对放入FM1715操作范围之内的卡片的防冲突检测
uchar AntiColl(uchar *CardID);//该函数实现对放入FM1715操作范围之内的卡片的防冲突检测
uchar GetCardID(uchar Mode,uchar *CardID);//该函数实现获取Mifare卡的IC号
uchar Read_E2(uchar lsb,uchar msb,uchar count,uchar *buff);//该函数实现从FM1715的EE中读出数据
//uchar MfInOutSlaveConfig(void);////重新初始化FM1702的内部寄存器值
/*
uchar Select_Card(void);//该函数实现对放入FM1715操作范围之内的某张卡片进行选择
uchar Authentication(uchar idata *UID,uchar SecNR,uchar mode);//该函数实现密码认证的过程
uchar Load_keyE2_CPY(uchar Secnr,uchar Mode);//该函数实现把E2中密码存入FM1715的keybuffer中
uchar Load_key_CPY(void);//该函数实现把MCU单元中的密码存入FM1715 的keybuffer 中
uchar Write_E2(uchar lsb,uchar msb,uchar count,uchar idata *buff);//该函数实现向FM1715的EE中写入数据
void Save_UID(uchar row,uchar col,uchar length);//该函数实现保存卡片收到的序列号
uchar Judge_Req(uchar idata *buff);//该函数实现对卡片复位应答信号的判断
uchar HL_Write(uchar idata *buff,uchar Block_Adr,uchar Mode);//写卡
uchar HL_Read(uchar idata *buff,uchar Block_Adr,uchar Mode);//读卡
uchar MIF_Initival(uchar idata *buff,uchar Block_Adr);//该函数实现MIFARE卡初始化值操作
uchar HL_Active(uchar Block_Adr,uchar Mode);//该函数实现高级MIFARE卡激活命令
uchar MIF_Transfer(uchar Block_Adr);//该函数实现MIFARE卡电子钱包保存操作
uchar MIF_Restore(uchar Block_Adr);//该函数实现MIFARE卡自动恢复,备份操作
uchar MIF_Decrement(uchar idata *buff,uchar Block_Adr);//该函数实现MIFARE卡自动减值操作
uchar MIF_Increment(uchar idata *buff,uchar Block_Adr);//该函数实现MIFARE卡自动增值操作
uchar MIF_Write(uchar idata *buff,uchar Block_Adr);//该函数实现写MIFARE卡块的数值
uchar MIF_READ(uchar idata *buff,uchar Block_Adr);//该函数实现读MIFARE卡块的数值
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -