#ifndef __FM25V02_H
|
#define __FM25V02_H
|
#include "define_all.h"
|
|
//op cmd
|
#define FM_WREN 0x06 //write enable
|
#define FM_WRDI 0x04 //write disable
|
#define FM_RDSR 0x05 //read status register
|
#define FM_WRSR 0x01 //write status register
|
#define FM_READ 0x03 //read fram memory data
|
#define FM_FSTRD 0x0b //fast read fram memory data
|
#define FM_WRITE 0x02 //write fram memory data
|
#define FM_SLEEP 0xb9 //go to sleep mode
|
#define FM_RDID 0x9f //read fram ID:9 bytes
|
|
|
#define FM25V02_CS_LOW GPIO_ResetBits(GPIOA,GPIO_Pin_15)//CS = 0
|
#define FM25V02_CS_HIGH GPIO_SetBits(GPIOA,GPIO_Pin_15) //CS = 1
|
|
|
#define FM_ReadWriteByte(dat) SPI3_ReadWriteByte(dat)
|
#define FM25V02_ioconfig() SPI3_ioconfig()
|
|
|
typedef union
|
{
|
double dou;
|
uint8 data[8];
|
}double_un;
|
|
typedef union
|
{
|
float flo;
|
uint8 data[4];
|
}float_un;
|
|
|
typedef union
|
{
|
uint32 uio;
|
uint8 data[4];
|
}u32_un;
|
|
typedef union
|
{
|
uint16 uso;
|
uint8 data[2];
|
}u16_un;
|
|
|
u8 EEPROM_MultipleWrite(u8 *data,u32 addr,u16 bytes);
|
void EEPROM_MultipleRead(u8 *data, u32 addr, u16 bytes);
|
void EEPROM_MultipleRead_Continue(u8 *data, u32 addr, u16 bytes);
|
|
void FM25V02_data_write(uint8 data,u32 addr16);
|
uint8 FM25V02_data_read(uint32 addr16);
|
void FM25V02_stat_write(uint8 stat);
|
uint8 FM25V02_stat_read(void);
|
void FM25V02_sleep(void);
|
void FM25V02_ID_read(uint8 *dst);
|
float FM25V02_data_read_float(uint32 addr16);
|
void FM25V02_data_write_float(uint32 addr16, float data);
|
double FM25V02_data_read_double(uint32 addr16);
|
void FM25V02_data_write_double(uint32 addr16, double data);
|
u32 FM25V02_data_read_uint32(uint32 addr16);
|
u32 FM25V02_data_read_uint32_Check(uint32 addr16) ;
|
void FM25V02_data_write_uint32(uint32 addr16, uint32 data);
|
void FM25V02_data_write_uint32_WRCheck(uint32 addr16, uint32 data);
|
u16 FM25V02_data_read_uint16(uint32 addr16);
|
void FM25V02_data_write_uint16(uint32 addr16, uint16 data);
|
|
|
#endif
|