Код
void AT45_Flash_Read(unsigned int page, unsigned int addr_on_page, unsigned int bcnt, unsigned char *buf)
{
unsigned int i;
AT45_ON;
SPI_Write_Byte(AT45_OP_CONTINUOUS_ARRAY_READ);
SPI_Write_Byte((unsigned char)(page>>8));
SPI_Write_Byte((unsigned char)(page<<2)|(unsigned char)(addr_on_page>>8));
SPI_Write_Byte((unsigned char)addr_on_page);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
i = 0;
do
{
*(buf + i) = SPI_Read_Byte();
i++;
}while(i<bcnt);
AT45_OFF;
}
{
unsigned int i;
AT45_ON;
SPI_Write_Byte(AT45_OP_CONTINUOUS_ARRAY_READ);
SPI_Write_Byte((unsigned char)(page>>8));
SPI_Write_Byte((unsigned char)(page<<2)|(unsigned char)(addr_on_page>>8));
SPI_Write_Byte((unsigned char)addr_on_page);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
SPI_Write_Byte(0);
i = 0;
do
{
*(buf + i) = SPI_Read_Byte();
i++;
}while(i<bcnt);
AT45_OFF;
}