资源简介
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++程序
相关资源
- 基于stm32f407八字循迹小车代码C语言写
- HMC5883驱动,C语言
- STM32-C语言知识点
- C语言 stm32 AES加密解密
- hello world ,stm32串口打印程序
- 基于单片机的json编解码源码.zip
- mpu9250九轴姿态用STM32F103实现I2C通信
- 基于STM32F4的加速度频域二次积分振动
- STM32F3 LCD1602 I2C驱动代码 C语言
-
Jli
nk 命令行自动程序 - stm32f103的TCS34725驱动分享
- 昆仑通态屏做主机与STM32单片机从机之
- MAX30102心率血氧显程-STM32F103C8T6-C语言
- STM32的TM1650程序.zip
- HAL基础实验源码09 stm32cubemx-F429IGT6扩展
- RA8875 STM32F407 C++驱动
- STM32驱动TMP75 C语言程序
- STM32开发板实验指导1
- I0操作_LED流水灯xws
- stm32f303休眠
- STM32游戏手柄实验
- 非阻塞式AT指令发送接收工程,可驱动
- STM32F103输出相位可变方波
- 485实验(RS485总线的使用,基于阿波罗
- CS5532 的 STM32 驱动程序
- C876模板(基于战舰STM32F103开发板)
- STM32 GPIO输入输出
- 基于stm32f103的AD7091源码
- STM32F0硬件IIC
- stm32 低电平捕获
评论
共有 条评论