Цель: масковые шрифты, пиктограммы.
Задача: чтение из памяти дисплея.
Осложнения: после установки необходимой области (команды 0x2A,0x2B) и отправки команды RAM data read(0x2E) перевожу SPI в bidirectional режим(BIDIMODE), однако на выходе(SPI->DR) почему-то 0xFF, тактовые импульсы есть, данных нет.
Действия: объединил промежуток опущенного CS (до этого поднимал после каждого байта) как сказано на 36 странице документации
изменил режим MISO с push-pull afio на open drain afio с добавлением 4.7к резистора на питание. Сначала был уверен, что линия MISO, оставшаяся внизу после передачи последнего бита(он там 0 получается- 0x2E) давит сигналы с дисплея, однако когда я отключал ножку PA7 от afio блока перед началом чтения, увидел, что вывод так и остаётся висеть, подтянутый к питанию.
Косяки: не вставляю dummy clock перед чтением. сделать это будет очень непросто с моей архитектурой кода. но пока не появились хоть какие-то данные, запариваться глупо.
разрабатываю часики в личное пользование.
сейчас установлен только дисплей, МК, внешний spi flash.
питание 3.3в от программатора, конденсатор керамика 10uf фильтр.
CS и A0 сохраняют свои состояния на протяжении всей(восьмибитной) передачи.
завершения передачи жду в пустом цикле, ожидая флага. исправлю как-нибудь потом.
если это чем-то поможет, могу предоставить исходники, фото монтажа, схемы, ссылки на используемую мной документацию.