我必须编写一个低级驱动程序来管理嵌入式设备的 tft 显示。器件由 PIC24、64K ram 和大约 128K 程序存储器供电。
我的意图是编写一个通用图形库,我将在其中放置所有原始图形函数和驱动程序以发送命令和数据以进行显示。
图形库使用驱动程序来访问显示,但显示技术可以改变,因此驱动程序必须易于重新实现。
在这种情况下编写可重用代码的最佳方法是什么?
----------------- ---------------
| | | |
| | | |
| 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 库,并且只重写显示驱动程序例程,我真的很高兴。实现这一目标的最佳方法是什么?
谢谢你。