Работа с wg12864b на stm32

Немного подредактировал, добавил возможность вывода картинок с GLCD generetor от Micro c.

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"
#include "lcd.h"

int main(void)
{
Lcd_init();//Инициализация lcd
Lcd_video_out(bmp);//Вывода массива bmp[1024]; Массив с картинкой находится в архиве
while(1)
    {

    }
}

Это получается по UART можно слать содержимое экрана, а обработку Lcd_video_out(unsigned char *m) повесить на прерывание таймера.
А как можно выводить только ту часть экрана которая обновилась?
Скачать архив wg12864b stm32

Комментарии (15)

RSS свернуть / развернуть

unsigned char symboltable[][5] =
{
		 {0x00,0x00,0x00,0x00,0x00},                    //space   Start code ASCII-0x20
		 {0x00,0x00,0x4f,0x00,0x00},                    //!
...


Почему не «const unsigned char symboltable[][5] …»? Если указать «const» – массив не будет копироваться в ОЗУ, сэкономишь кучу памяти.
0
Такой набор символов + жирный + 8х16 может каждый сделать за минуту в LcdIcon:)
0
  • avatar
  • PRC
  • 02 марта 2012, 21:06
я символы и некоторый код у DI HALT-а взял а другую часть кода ещё откуда-то слямзил.
Но перед этим немного разобрался как оно работает.
LcdIcon гляну, спасибо.
0
А где вывод картинок? И символы выводятся только с выравниванием по страницам.
Так не интересно…
0
Еще вот это интересно:
void Delay_ms(uint32_t ms);
...
Delay_ms(0.1);

Функция ожидает uint32_t, а ей передается double, который автоматически усекается до целого путём отбрасывания дробной части, то есть в данном случае до 0. Кстати, на строб достаточно задержку на 8-10 микросекунд делать.
0
А зачем использовать полную таблицу символов? На работе при написании библиотеки для TE-ULCD в замен имеющегося сделал проще. для каждого символа хранились основные данные (графические скажем так) и код символа. конечно достать из массива символ с индексом равным его коду проще, но память расходовать так все равно не стоит
0
  • avatar
  • xar
  • 03 марта 2012, 18:34
флэша дофига
0
добавил линию, круг. Над функциями ссылки откуда скопипастил код, но перед этим конечно попытался разобраться что к чему.
0
совесть мучает от копипаста :-) надо всё же разложить по полочкам алгоритмы(для себя хотя бы), в блок схемы, ато как-то не так.
0
Однакто чтобы выводить строки в координатах x 0...64 надо проверять в какой банк попадает пиксель символа…
0
Добавил вывода картинок с GLCD generetor
0
поставьте + ;-), ато + не могу ставить другим…
0
Сделал видео ОЗУ, вывод текста в любой координате а не только по строчкам, вывод изображений в любой координате, сделал фоновый буфер(то есть второе видео ОЗУ изображение которого всегда находится на фоне при любых действия на экране.). Но код получился «из говна и палок». Не подскажите какой нибудь FAQ, титуриал по тому как привести код в порядок? Я понимаю что гугл много подскажет, но тут по теме для м.к. кто-то может подсказать лучшее решение.
Код пока выкладывать не буду, там сам чёрт ногу сломит.
0
кстати, конвертер ардуиновский замечательную идею подсказал по тому как обозначить размер изображения в массиве.
0 и 1 элементы массива — это числа в размерах изображения. Всё гениально и просто оказывается!
0
всем привет!
У меня в Keil не хочет собираться, плюется на Symbol Video_buffer multiply defined (by main.o and lcd.o)
0
  • avatar
  • Geek
  • 10 марта 2014, 10:40
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.