|
25系列的EEPROM的基本操作幾乎是完全一樣的
CS的時(shí)序很重要的
這是一個(gè)寫入函數(shù),你參考一下
void Write_Data_25AA(u8 WriteByte,u8 Addr)//向指定地點(diǎn)寫入一個(gè)字節(jié)的數(shù)據(jù)
{
u8 i;
CS_SPI_LOW; //CS=0
SPI_Write_Byte(WREN); //寫入"寫使能命令"
CS_SPI_HI; //CS=1
delay_us(10); //延時(shí)
CS_SPI_LOW; //CS=0
SPI_Write_Byte(WRITE); //寫入"寫命令"
SPI_Write_Byte(Addr); //SPI寫入地址
SPI_Write_Byte(WriteByte); //寫入數(shù)據(jù)
CS_SPI_HI; //CS=1,寫入之后要把CS拉高,才能完成寫入
delay_us(10); //延時(shí)
do
{
CS_SPI_LOW; //CS=0
SPI_Write_Byte(RDSR); //寫入讀取STATUS狀態(tài)位命令
i=SPI_Read_Byte(); //讀取STATUS狀態(tài)位中的:寫使能位=WEL,此位為1時(shí),可以寫入
CS_SPI_HI; //CS=1
} //讀取STATUS狀態(tài)位中的:寫進(jìn)行位=WIP,此位為1時(shí),正在寫入
while(i&0x01); //等待寫進(jìn)行位變成0*/
}
|
|