Flash w25q32,

,

Всем доброго времени суток возникает такая проблема под паял флеш память w25q… При аппаратной перезагрузки она не инициализируется а если убрать питание и опять подать то все норм


Ты тут почти год, а код вставлять кто будет за тебя?

Былбы код я бы вставил но к сожалению на мне в основном пайка ну и помощ в подумать как решить

Тогда в чем вопрос?

Погрей феном, плате будет приятно :grinning_face:

1 лайк

По анализам вижу - волчанка!

Петрович уже раз 100500 говорил, скетч, схема подключения, а судя по:
“The devices operate on a single 2.7V to 3.6V power supply with current consumption as low as 5mA active and
1μA for power-down.”
Он в очередной раз прав!

вот схема по теме

Может как то можно сделать при перезагрузки контроллера кнопкой чтоб питание на флеш отключалось если так можно как его реализовать

@begun11 а подтягивать к питанию сигналы уже не положено?
И расставьте перемычки по питанию, что бы не гадалось.
И диод с батарейки уберите или замените на акб/ионистор.

У флешки есть пин reset, если только не в Quad spi режиме работаете
Даташит почитайте, мне сейчас некогда, занят.

Подавать 3х вольтовому чипу на SPI MOSI/MISO 5 вольт такая себе идея.
Я б на месте чипа тоже обиделся.

я в интернете смотрел схемы включения флеш они там по разному подключены и не понятно как правильно
Если подскажите как правильно буду очень благодарен

Нужны двунаправленные преобразователи уровней напряжений для MOSI/MISO/CS пинов, можно на резисторах собрать.
В любом случае без кода не о чем разговаривать.
И при включении программы и инициализации SPI рекомендую ID чипа прочитать - если корректный, значит рабочий.

uint32_t w25readID(void) {
	uint8_t dt[4] = {0,0,0,0};
	tx_buf[0] = W25_GET_JEDEC_ID;
	w25CSenable();
	f4writeSPI1(tx_buf, 1);
	f4readSPI1(dt, 3);
	w25CSdisable();
	return (dt[0] << 16) | (dt[1] << 8) | dt[2];
}

вот подробное описание и примеры
STM Урок 214. HAL. STM32F4. FLASH память W25Q. Получение информации из микросхемы | Программирование микроконтроллеров

перемычка стоит на 3,3В соответственно и подается на чип 3,3В
Я за то что когда засыпает и просыпается контроллер флеш определяется и все норм но когда ресетю кнопкой то не видет флеш и уходит в ошибку

Перемычка касается только питания, а сигнальные пины у вас под напряжением 5в.

Той самой где 5В?

Это логично, не находите?
Вам нужно после ресета заново иницировать флешку, а вы этого не делаете. ЕЕ нужно или ресетнуть, если есть пин Ресет, или передернуть питание.

Я ведь туда 3.3 подаю на мегу и на флеш

1 лайк

Это вообще вылетело у меня из головы.
Из за этого может быть так что не ресетится?