Добрый день!
Я являюсь новичком в программировании STM32, на днях решил освоить работу с дисплеем, а именно как выводить картинку с помощью bmp. Для обучения использую плату STM32F429I DISCO 1. Просмотрев имеющиеся статьи и видеоролики по данному типу микроконтроллера, я наткнулся на библиотеку GUI.h (которая входит в библиотеку EmWin). Как раз с помощью нее и пытался реализовать вывод изображения на дисплей, используя функцию BSP_LCD_DrawBitmap. При попытке реализации пробного проекта мне вылезает ошибка "
undefined reference to `GUI_BitmapMethodsA565'". Судя по всему, компилятор не может обнаружить данную ссылку, хотя библиотека GUI.h подключена. Скелет программы представлен ниже. Если кто знает решение данной проблемы и сможет подсказать, то буду весьма благодарен! Стоит еще отметить, что по сути к заголовочному файлу GUI.h должен быть еще и c-шный файл, но его нет. (Полагаю, что как раз там он и должен был задефайнить BitmapMethodsA565. Хотя не могу утверждать о том, что c-шный файл необходим в данном случае). И еще немаловажное замечание: Для конвертации изображения я использовал программу Bitmap Converter for EmWin. Также пользовался программой LCD Image Converter, там уже не было ошибок при компиляции, но картинка все равно не выводилась.
Если у кого-то имеется в наличии проект с выводом картинки для данной платы, то был бы рад посмотреть на реализацию.
//main.c ... extern GUI_CONST_STORAGE GUI_BITMAP bmqw2; ... BSP_LCD_DrawBitmap(100, 100, &bmqw2);
//qw2.c - название файла #include <stdlib.h> #include "GUI.h" #ifndef GUI_CONST_STORAGE #define GUI_CONST_STORAGE const #endif extern GUI_CONST_STORAGE GUI_BITMAP bmqw2; /* Bitmap data */ static GUI_CONST_STORAGE unsigned short _acqw2[] = { //тут представление картинки в виде шестнадцатеричной системы счисления }; GUI_CONST_STORAGE GUI_BITMAP bmqw2 = { 400, /* width */ 250, /* height */ 800, /* bytes per line */ 16, /* bits per pixel */ (unsigned char*)_acqw2, /* Pointer to bitmap data */ NULL, GUI_DRAW_BMPA565 };
Привет, можешь проект скинуть с ошибками?
@new_user ну да, там самих библиотек статических не хватает, файлов STemWin532_CM3_IAR.a и т. д.
Это из апноута скрины:
@aveal Спасибо за ответ!
Библиотеки поставил в соответствующие папки, предварительно указав пути в настройках проекта. Но, к сожалению, опять компилятор находит ошибки и ругается... Эх.
В общем, опыт работы с дисплеем - дело наживное 🙂
Могу попозже посмотреть новый проект с новыми ошибками тоже )