This commit is contained in:
2026-03-20 21:19:53 +08:00
parent 9d3b4b836f
commit 6a749331db
125 changed files with 29972 additions and 23051 deletions

View File

@@ -1,150 +1,158 @@
#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
/****************************************************************************/