Благодарю за помощь память мне надо использовать AT25DF321 но т.к в протеусе такого нету взял более менее подходящую AT25F1024 что бы разобраться как работать вообще с памятью.
Обращение к флеш-памяти по SPI
- Сообщения: 574
- Зарегистрирован: Вт ноя 02, 2010 17:46:37
- Реклама
Думал речь идет про AT45DB как в первом посте. С АТ25 пока сталкиваться не приходилось.
- Сообщения: 7
- Зарегистрирован: Пт сен 22, 2017 08:16:53
проблемы с адресацией в буфере
GPIOB->ODR=0x0;
SPI_SendByte(0x84);
SPI_SendByte(0x00);
SPI_SendByte(0x0);
SPI_SendByte(10);
for(uint8_t q=0; q<16;q++){SPI_SendByte(1);}
GPIOB->ODR=0x2;
delay(10);
GPIOB->ODR=0x0;
SPI_SendByte(0xD4);
SPI_SendByte(0x0);
SPI_SendByte(0x0);
i=0; SPI_SendByte(0);
SPI_SendByte(0);
for(uint8_t q=0; q<0xff;q++){SPI_SendByte(0);}
while(READ_BIT(SPI1 -> SR, SPI_SR_BSY));
GPIOB->ODR=0x2;
при чтение записанные данные приходят с первого элемента а не с 10
GPIOB->ODR=0x0;
SPI_SendByte(0x84);
SPI_SendByte(0x00);
SPI_SendByte(0x0);
SPI_SendByte(10);
for(uint8_t q=0; q<16;q++){SPI_SendByte(1);}
GPIOB->ODR=0x2;
delay(10);
GPIOB->ODR=0x0;
SPI_SendByte(0xD4);
SPI_SendByte(0x0);
SPI_SendByte(0x0);
i=0; SPI_SendByte(0);
SPI_SendByte(0);
for(uint8_t q=0; q<0xff;q++){SPI_SendByte(0);}
while(READ_BIT(SPI1 -> SR, SPI_SR_BSY));
GPIOB->ODR=0x2;
при чтение записанные данные приходят с первого элемента а не с 10
