Мне нужно написать драйвер низкого уровня для управления дисплеем tft для встроенного устройства. Устройство питается от PIC24, 64K RAM и около 128K программной памяти.Запись многоразовой графической библиотеки низкого уровня для emebedded устройства в ansi C
Я намерен написать общую графическую библиотеку, в которой я буду размещать все примитивные графические функции и драйвер для отправки команды и данных для отображения.
Графика lib использует драйвер для доступа к дисплею, но технология отображения может измениться, поэтому драйвер должен быть легко reimplementabile.
Каков наилучший способ написания многоразового кода в этом виде сценария?
----------------- ---------------
| | | |
| | | |
| GFX_LIB | =====> | DRIVER | ====> DISPLAY
| | | |
| | | |
----------------- -----/----\----
/ \
/ \
---------- ----------
| | | |
| TYPE A | | TYPE B |
| | | |
---------- ----------
Подробнее
Это кусок кода моего GFX Lib
#include "Graphics.h"
void gfx_Init(uint16_t width, uint16_t height, uint8_t rotation){
gfx_displayWidth=width;
gfx_displayHeight=height;
gfx_rotation=rotation;
displayDriverInit();
}
void gfx_setPixel(uint16_t x, uint16_t y, uint32_t color){
displayDriverSendCommand(CHANGE_COORDINATE);
displayDriverSendData(x);
displayDriverSendData(y);
displayDriverSendCommand(SET_COLOR);
displayDriverSendData(color);
}
Это гипотетическая реализация моей графической библиотеки.
Теперь, если я сменю драйвер, я очень рад, если я смогу повторно использовать мою gfx lib и переписать только процедуры отображения драйверов. Какой лучший способ достичь этого?
спасибо.
Что относительно OpenGL? или SDL? – IanNorton
привет, это для встроенного устройства с picmicro – blow