资源简介
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读CS1237实现秤重测量
- 基于STM32单片机的心率体温测量仪
- 基于STM32F103ZET6控制舵机旋转(ts90a/
- stm32f103zet6控制蓝牙小车
- STM32F407驱动OLED显示DS18B20数字温度
- vscode作为编辑器开发stm32f103c8
- STM32 多路PWM输出
- STM32烧写算法flash包
- STM32 LIN通信数据发送实现 测试通过
- FFT电流检测 stm32f4
- DS1302万年历设计 stm32
- 超声波定高(基于STM32)
- STM32(神舟III号 串口1发送实验程序)
- STM32 模拟信号采集
- STM32-ads1256
- STM32跑马灯实验58159
- STM32429的串口收发程序
- STM32连接EC20使用内置MQTT协议接入阿里
- ADS1256-STM32参考程序
- stm32 AD7506
- STM32F10实现照相功能照相机
- 基于STM32的嵌入式flash读写控制
- stm32f103c8t6开发板原理图+pcb
- STM32内部FLASH模拟eerom
- stm32的半导体除湿机程序
- stm32实现高精度频率测定
- stm32库函数代码自动生成器V1.2
- stm32 DMA例程
- stm32蓝牙小车
- 显示屏操作(stm32f103c8t6(SAN))
评论
共有 条评论