Хочу собрать наручные часы с дисплеем от Nokia1280(1202). Дисплей построен на базе контроллера STE2007 или HX1230(китайский аналог).
Мне удалось проинициализировать дисплей и поуправлять блоками пикселей. Я использую программный spi ввиду того что используется SPI 9 бит. В памяти микроконтроллера хочу хранить два буфера - текущее изображение и новое.
Я столкнулся с такими проблемами:
1. При инициализации дисплея очищаю буферы в памяти МК вот так
- Код:
uint16_t i;
for(i = 0; i < 864; i++){
bufferCurrent[i] = 0;
bufferNext[i] = 0;
}
Но тогда где-то во время этого цикла МК подвисает и даже не доходит до основного цикла прошивки.
2.Если закомментировать очистку буферов, то всё работает и доходит до while(1). Я записываю в пару блоков данные и хочу видеть их на дисплее(первая черта и вторая, где два пикселя и потом еще 3), но вижу это:
Появляются какие-то левые данные и дублируются блоки что я вывожу. Возможно это из-за проблемы номер раз
Мой глаз уже замылился и несколько дней не могу понять что не так
PS Исходники прикрепил, так как скорее всего они будут не читаемы под спойлером. Ну и вдруг кто-то захочет тоже почувствовать в разработке, то я буду очень рад
- Вложения
-
- ste2007.cpp
- (2.99 KiB) Скачиваний: 117
-
- ste2007.h
- (535 байт) Скачиваний: 110
-
- main.cpp
- (655 байт) Скачиваний: 102