Есть SPI DataFlash AT45DB321. Проблема заключается в том, что читается значение 0xB4 из памяти, независимо от того что писалось туда.
Теперь более конкретно.
- У SPI частота 5МГц
- Чтение байта статуса проходит нормально, все биты правильные.
- Запись производиться командой PROGRAM_MAIN_THROUGH_BUFFER1 (0x82), то есть напрямую, без буффера.
- Запись проходит корректно, смотрел осциллом.
- Для проверки код взял отсюда
Который без DMA, и начинается с AT45DB_
- После записи жду бит READY в статус байте, через некоторое время он появляется, не похоже чтобы ложно срабатывал.
- Чтение тоже корректно отрабатывает, но флеш отправляет байты 0xB4, проверял осциллом, странно.
Может кто сталкивался? Есть идеи?
В функции ожидания статуса READY, при возврате не отпускался chip select, поэтому следующий процесс чтения читал только статус регистр.