📄 spi.txt
字号:
实验说明:
1./RESET接地,不可以操作。
2./WP接地,可以读写BUFFER1,2,可以读ID,不能操作主存。
-
void AT45_Write_Buffer(uchar buffer_choice,uint address,const char * const string, uint buf_len);
void AT45_Read_Buffer(uchar buffer_choice,uint address,uint buf_len,char * string);
void AT45_MemoryToBuffer(uchar buffer_choice,uint page);
void AT45_BufferToMemory(uchar buffer_choice,uint page);
void AT45_MemoryRead(uint page,uint address,uint num,char * string);
void AT45_MemoryPageWrite(uchar buffer_choice,uint page,uint address,uint num,const char * const string);
void AT45_ErasePage(uint page); //page(0~8191)
void AT45_EraseBlock(uint block);//Block(0~1023)
/*interrupt [SPI_STC] void SPI_Isr(void)
{
//发送完毕进入中断服务函数
//任务:
SPI_State=1;//已发送完可以发送下一下
Rec_data[Rec_count]=SPDR;
if(Rec_count==50)
{
Rec_count=0;
}
else
{
Rec_count++;
}
} */
static ClearProtect(void)
{
//unsigned char comand=0;
CS_0;
SPI_WriteByte(0x3D);
SPI_WriteByte(0x2A);
SPI_WriteByte(0x7F);
SPI_WriteByte(0x9A);
CS_1;
}
static ReadProtect(void)
{
unsigned char k;
unsigned char ddd[5];
//unsigned char comand=0;
CS_0;
SPI_WriteByte(0x3D);
SPI_WriteByte(0x2A);
SPI_WriteByte(0x7F);
SPI_WriteByte(0x9A);
for(k=0;k<5;k++)
{
ddd[k]=SPI_ReadByte(0);
}
CS_1;
}
static EraseProtect(void)
{
//unsigned char comand=0;
CS_0;
SPI_WriteByte(0x3D);
SPI_WriteByte(0x2A);
SPI_WriteByte(0x7F);
SPI_WriteByte(0xA9);
CS_1;
}
//擦除一页
/*void AT45_ErasePage(uint page) //page(0~8191)
{
uchar temp;
CS_0;
//send command stream of data
SPI_WriteByte(0X81);// MEM_PAGE_ERASE
temp=(uchar)(page>>6);
SPI_WriteByte(temp); //地址最高字节
temp = (((uchar)page)<<2);
SPI_WriteByte(temp); //地址高字节
SPI_WriteByte(BYTE_DUMMY); //地址低字节
CS_1;
IsBusy();
}
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -