/*********************************************************************
函数名: void EEPROM_Write_Enable(void)
目的: EEPROM的写使能
输入: 无
输出: 无
*********************************************************************/
void EEPROM_Write_Enable(void)
{
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//
GpioDataRegs.GPFDAT.bit.GPIOF3 = 0;//CS拉低
//发送SPI
SpiaRegs.SPITXBUF = WREN;//发送使能写指令
//
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//
delay_time(60);
//
GpioDataRegs.GPFDAT.bit.GPIOF3 = 1;//cs拉高
}
/*********************************************************************
函数名: void EEPROM_Write_Disable(void)
目的: EEPROM的写关闭
输入: 无
输出: 无
*********************************************************************/
void EEPROM_Write_Disable(void)
{
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//
GpioDataRegs.GPFDAT.bit.GPIOF3 = 0;
//发送SPI
SpiaRegs.SPITXBUF = WRDI;//禁止写
//
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//
delay_time(100);
//
GpioDataRegs.GPFDAT.bit.GPIOF3 = 1;
}
/*********************************************************************
函数名: unsigned int EEPROM_Read_Status(void)
目的: EEPROM的读状态
输入: 无
输出: 无
*********************************************************************/
unsigned int EEPROM_Read_Status(void)
{
unsigned int i,data;
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//
GpioDataRegs.GPFDAT.bit.GPIOF3 = 0;
//发送SPI
SpiaRegs.SPITXBUF = RDSR; //读状态寄存器
//判断SPI发送准备好
while(Spi_TxReady() == 0);
//发送SPI
// SpiaRegs.SPITXBUF = 0xff;
// for(i = 0; i < 100; i++);
//判断SPI接收准备好
while(Spi_RxReady() == 0);
data = SpiaRegs.SPIRXBUF;
//判断SPI发送准备好
// while(Spi_TxReady() == 0);
//
// GpioDataRegs.GPFDAT.bit.GPIOF3 = 1;
//
return data;
}