资源简介
STM32单片机驱动射频芯片FM1702,C语言实现,包含C文件和H文件
代码片段和文件信息
#include “stm32f10x.h“
#include “rsport.h“
#include “string.h“
#include “rsos.h“
#include “FM1702.h“
unsigned char tagtype[2]; /* 卡片标识字符 */
unsigned char MF_CardType; //读头发回的卡类型
unsigned char RevBuffer[40]; /* FM1702命令发送接收缓冲区 */
unsigned char UID2[8]; /* 序列号 */
static rst_gpio csgpio;
static rst_spi pcdspi;
static rst_gpio rstgpio={00};
void FM1702_NotSelect(void)
{
// GPIO_SetBits(FM1702_GPIOFM1702_CS_PIN);
rs_setgpio(&csgpio);
}
void FM1702_Select(void)
{
// GPIO_ResetBits(FM1702_GPIOFM1702_CS_PIN);
rs_resetgpio(&csgpio);
}
void FM1702_Reset(void)
{
rs_resetgpio(&csgpio);
rs_resetgpio(&csgpio);
rs_setgpio(&rstgpio);
rs_delayus(30000);
rs_resetgpio(&rstgpio);
rs_delayus(10000);
rs_setgpio(&csgpio);
}
uint8_t SPI_SendByte(uint8_t byte)
{
while(SPI_I2S_GetFlagStatus(pcdspi SPI_I2S_FLAG_TXE) == RESET);
SPI_I2S_SendData(pcdspi byte);
while(SPI_I2S_GetFlagStatus(pcdspi SPI_I2S_FLAG_TXE) == RESET);
while(SPI_I2S_GetFlagStatus(pcdspi SPI_I2S_FLAG_RXNE) == RESET);
return SPI_I2S_ReceiveData(pcdspi);
}
uint8_t SPI_ReadByte(void)
{
return (SPI_SendByte(0));
}
/****************************************************************/
/*名称: SPIRead */
/*功能: 该函数根据给定的地址读取FM1702SL的寄存器*/
/*输入: 寄存器地址 读出值存放首地址*/
/*输出: 寄存器值*/
/****************************************************************/
unsigned char SPIRead(unsigned char SpiAddress)
{
unsigned char rdata;
SpiAddress = SpiAddress << 1;
SpiAddress = SpiAddress | 0x80;
FM1702_Select();
//Send SpiAddress;
SPI_SendByte(SpiAddress);
//Receive data
rdata = SPI_SendByte(0);
FM1702_NotSelect();
return (rdata);
}
/****************************************************************/
/*名称: SPIWrite */
/*功能: 该函数根据给定的地址写入FM1702SL的寄存器*/
/*输入: 寄存器地址要写入的字节数 */
/*输出: N/A*/
/****************************************************************/
void SPIWrite(unsigned char SpiAddressunsigned char SpiData)
{
SpiAddress = SpiAddress << 1;
SpiAddress = SpiAddress & 0x7e;
FM1702_Select();
//Send SpiAddress
SPI_SendByte(SpiAddress);
// Send data;
SPI_SendByte(SpiData);
FM1702_NotSelect();
}
/****************************************************************/
/****************************************************************/
/*名称: Read_Card_Serial */
/*功能: 该函数实现读取卡片序列号 */
/*输入: serial: 卡片序列号的存储首地址 */
/*输出: 读卡片产生的状态码 */
/****************************************************************/
unsigned char Read_Card_Serial(unsigned char *serial)
{
unsigned char status;
status = Intern_Read_Card_Serial(serial); //读取卡片序列号到serial
if(status != FM1702_OK)
status = Intern_Read_Card_Serial(serial);
return status;
}
unsigned char Card_Authentication(unsigned char *serialunsi
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10380 2013-07-08 14:51 FM1702.h
文件 50858 2013-07-08 14:50 FM1702.c
- 上一篇:VB、C++机房管理程序
- 下一篇:图像点运算VC++程序
相关资源
- stm32双机spi通信
- STM32 PCB封装库 全系列 全网不好找
- 基于STM32F407的W5500 tcpserver(官网例程
- 串口调试助手(测试STM32串口)
- 基于STM32F407ZG的监控摄像头及FATFS文件
- tm1650+stm32f103源码(board_tm1650.c)
- stm32定时器中断
- 基于STM32的音频信号采样与FFT分析
- STM32肺活量测试仪
- 基于STM32F103C8T6主控板使用BH1750检测光
- cubeMX设计实现stm32f407上的CAN及485的通
- stm32 BootLoader程序(main.c)
- STM32修炼的最好书
- STM32 BLDC 无刷电机
- stm32 实现Fatfs对U盘文件操作(main.c)
- stm32f103 USB键盘
- OBD_CAN读取代码(stm32f103)
-
STM32-ba
se64加密源代码 - stm32 MQTT
- stm32f103 can驱动
- STM32三菱PLC源码原理图
- 基于STM32智能家居的无线网关设计与实
- 基于stm32的交通信号灯代码
- DHT11驱动程序基于STM32
- 基于STEM32的倒车记录仪智能报警系统
- STM32_GY25Z计步器
- C语言实现的红外发送STM32F10x单片机应
- stm32L系列F系列 加密库Cryptographic lib
- 心率传感器算法-stm32-实测可用
- 工程使用的STM32版FX2N源码和原理图
评论
共有 条评论