NULL
This commit is contained in:
214
user/Device/MB85RS16.c
Executable file → Normal file
214
user/Device/MB85RS16.c
Executable file → Normal file
@@ -1,158 +1,150 @@
|
||||
#include "../main/SystemInclude.h"
|
||||
|
||||
/* File start *****************************************************************/
|
||||
#if ENABLE_USE_MB85RS16
|
||||
/******************************************************************************/
|
||||
|
||||
/******************************************************************************/
|
||||
void FRAMInit(void)
|
||||
{
|
||||
FRAM_WP_OUTPUT();
|
||||
FRAM_CS_OUTPUT();
|
||||
DisableFRAM();
|
||||
DisableFRAMWrite();
|
||||
// FRAM_WP_OUTPUT();
|
||||
// FRAM_CS_OUTPUT();
|
||||
// DisableFRAM();
|
||||
// DisableFRAMWrite();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void ProtectFRAM(void)
|
||||
{
|
||||
EnableFRAMWrite();
|
||||
EnableFRAM();
|
||||
|
||||
SPIWriteData(FRAM_WREN);
|
||||
SPIWriteData(FRAM_WRSR);
|
||||
SPIWriteData(FULL_ARRAY_PROTECTION);
|
||||
SPIWriteData(FRAM_WRDI);
|
||||
|
||||
DisableFRAM();
|
||||
DisableFRAMWrite();
|
||||
// EnableFRAMWrite();
|
||||
// EnableFRAM();
|
||||
//
|
||||
// SPIWriteData(FRAM_WREN);
|
||||
// SPIWriteData(FRAM_WRSR);
|
||||
// SPIWriteData(FULL_ARRAY_PROTECTION);
|
||||
// SPIWriteData(FRAM_WRDI);
|
||||
//
|
||||
// DisableFRAM();
|
||||
// DisableFRAMWrite();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void UnProtectFRAM(void)
|
||||
{
|
||||
EnableFRAMWrite();
|
||||
EnableFRAM();
|
||||
|
||||
SPIWriteData(FRAM_WREN);
|
||||
SPIWriteData(FRAM_WRSR);
|
||||
SPIWriteData(NO_PROTECTION);
|
||||
SPIWriteData(FRAM_WREN);
|
||||
|
||||
DisableFRAM();
|
||||
// EnableFRAMWrite();
|
||||
// EnableFRAM();
|
||||
//
|
||||
// SPIWriteData(FRAM_WREN);
|
||||
// SPIWriteData(FRAM_WRSR);
|
||||
// SPIWriteData(NO_PROTECTION);
|
||||
// SPIWriteData(FRAM_WREN);
|
||||
//
|
||||
// DisableFRAM();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void WriteByteToFRAM(u16 address, u8 data)
|
||||
{
|
||||
EnableSPI(SPI_MODE3);
|
||||
// EnableSPI(SPI_MODE3);
|
||||
|
||||
UnProtectFRAM();
|
||||
|
||||
EnableFRAM();
|
||||
SPIWriteData(FRAM_WRITE);
|
||||
SPIWriteData(address>>8);
|
||||
SPIWriteData(address);
|
||||
SPIWriteData(data);
|
||||
DisableFRAM();
|
||||
// UnProtectFRAM();
|
||||
//
|
||||
// EnableFRAM();
|
||||
// SPIWriteData(FRAM_WRITE);
|
||||
// SPIWriteData(address>>8);
|
||||
// SPIWriteData(address);
|
||||
// SPIWriteData(data);
|
||||
// DisableFRAM();
|
||||
|
||||
ProtectFRAM();
|
||||
DisableSPI();
|
||||
// ProtectFRAM();
|
||||
// DisableSPI();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
u8 ReadByteFromFRAM(u16 address)
|
||||
{
|
||||
u8 data;
|
||||
|
||||
EnableSPI(SPI_MODE3);
|
||||
|
||||
EnableFRAM();
|
||||
SPIWriteData(FRAM_READ);
|
||||
SPIWriteData(address>>8);
|
||||
SPIWriteData(address);
|
||||
data = SPIReadData();
|
||||
DisableFRAM();
|
||||
|
||||
DisableSPI();
|
||||
|
||||
return data;
|
||||
// u8 data;
|
||||
//
|
||||
// EnableSPI(SPI_MODE3);
|
||||
//
|
||||
// EnableFRAM();
|
||||
// SPIWriteData(FRAM_READ);
|
||||
// SPIWriteData(address>>8);
|
||||
// SPIWriteData(address);
|
||||
// data = SPIReadData();
|
||||
// DisableFRAM();
|
||||
//
|
||||
// DisableSPI();
|
||||
//
|
||||
// return data;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void WriteMultiByteToFRAM(u16 address, u8 *pointer, u8 length)
|
||||
{
|
||||
u8 I;
|
||||
|
||||
EnableSPI(SPI_MODE3);
|
||||
delay_ms(1);
|
||||
|
||||
UnProtectFRAM();
|
||||
|
||||
EnableFRAM();
|
||||
SPIWriteData(FRAM_WRITE);
|
||||
SPIWriteData(address>>8);
|
||||
SPIWriteData(address);
|
||||
for(I=0; I<length; I++)
|
||||
{
|
||||
SPIWriteData(*pointer);
|
||||
pointer++;
|
||||
}
|
||||
// u8 I;
|
||||
//
|
||||
// EnableSPI(SPI_MODE3);
|
||||
// delay_ms(1);
|
||||
//
|
||||
// UnProtectFRAM();
|
||||
//
|
||||
// EnableFRAM();
|
||||
// SPIWriteData(FRAM_WRITE);
|
||||
// SPIWriteData(address>>8);
|
||||
// SPIWriteData(address);
|
||||
// for(I=0; I<length; I++)
|
||||
// {
|
||||
// SPIWriteData(*pointer);
|
||||
// pointer++;
|
||||
// }
|
||||
|
||||
DisableFRAM();
|
||||
// DisableFRAM();
|
||||
|
||||
ProtectFRAM();
|
||||
DisableSPI();
|
||||
// ProtectFRAM();
|
||||
// DisableSPI();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
void ReadMultiByteFromFRAM(u16 address, u8 *pointer, u8 length)
|
||||
{
|
||||
u16 I;
|
||||
|
||||
EnableSPI(SPI_MODE3);
|
||||
delay_ms(1);
|
||||
|
||||
EnableFRAM();
|
||||
SPIWriteData(FRAM_READ);
|
||||
SPIWriteData(address>>8);
|
||||
SPIWriteData(address);
|
||||
for(I=0; I<length; I++) *(pointer+I) = SPIReadData();
|
||||
DisableFRAM();
|
||||
|
||||
DisableSPI();
|
||||
// u16 I;
|
||||
//
|
||||
// EnableSPI(SPI_MODE3);
|
||||
// delay_ms(1);
|
||||
//
|
||||
// EnableFRAM();
|
||||
// SPIWriteData(FRAM_READ);
|
||||
// SPIWriteData(address>>8);
|
||||
// SPIWriteData(address);
|
||||
// for(I=0; I<length; I++) *(pointer+I) = SPIReadData();
|
||||
// DisableFRAM();
|
||||
//
|
||||
// DisableSPI();
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
u8 ReadFRAMDeviceID(void)
|
||||
{
|
||||
u8 temp[8];
|
||||
|
||||
//DisableSPI();
|
||||
DisableFRAM();
|
||||
EnableSPI(SPI_MODE3);
|
||||
delay_10us(100);
|
||||
EnableFRAM();
|
||||
|
||||
SPIWriteData(FRAM_RDID);
|
||||
delay_10us(10);
|
||||
temp[0] = SPIReadData();
|
||||
temp[1] = SPIReadData();
|
||||
temp[2] = SPIReadData();
|
||||
temp[3] = SPIReadData();
|
||||
temp[4] = SPIReadData();
|
||||
temp[5] = SPIReadData();
|
||||
temp[6] = SPIReadData();
|
||||
temp[7] = SPIReadData();
|
||||
DisableFRAM();
|
||||
// DisableSPI();
|
||||
|
||||
if(temp[0] != 0x04) return 1;
|
||||
if(temp[1] != 0x7f) return 1;
|
||||
// u8 temp[8];
|
||||
//
|
||||
// //DisableSPI();
|
||||
// DisableFRAM();
|
||||
// EnableSPI(SPI_MODE3);
|
||||
// delay_10us(100);
|
||||
// EnableFRAM();
|
||||
//
|
||||
// SPIWriteData(FRAM_RDID);
|
||||
// delay_10us(10);
|
||||
// temp[0] = SPIReadData();
|
||||
// temp[1] = SPIReadData();
|
||||
// temp[2] = SPIReadData();
|
||||
// temp[3] = SPIReadData();
|
||||
// temp[4] = SPIReadData();
|
||||
// temp[5] = SPIReadData();
|
||||
// temp[6] = SPIReadData();
|
||||
// temp[7] = SPIReadData();
|
||||
// DisableFRAM();
|
||||
//// DisableSPI();
|
||||
//
|
||||
// if(temp[0] != 0x04) return 1;
|
||||
// if(temp[1] != 0x7f) return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* File end *****************************************************************/
|
||||
#endif
|
||||
/****************************************************************************/
|
||||
Reference in New Issue
Block a user