下面我们新建一个VirtSTM32工程(VS2019控制台程序)进行验证,然后把这些函
数加到我们的VirtSTM32工程里。同时,VirtSTM32需要依赖于VirtLCD.lib,导入即
可,这个库可以在VirtLCD SDK包里找到(文末统一发给大家)。
有了这三个基础函数,我们可以就可以做很多的事情了,显示字符串、显示图片等
函数都是以画点函数为基础的,这些函数可以在各种开发板的lcd相关例程里找到,
拿过来修改一下就可以。接下来我们显示一些字符串到Virtlcd上,如:
运行结果:
void LCD_DrawPoint(int x, int y, PIXEL color)
{
PIXEL *mem;
mem = GET_FRAMEBUFFER(x, y);
*mem = color;
}
//画水平直线
void LCD_DrawHLine(int x1, int y1, int x2, PIXEL color)
{
PIXEL *mem;
mem = GET_FRAMEBUFFER(x1, y1);
for(; x1 < x2; x1++)
{
*mem++ = color;
}
}
//画垂直直线
void LCD_DrawVLine(int x1, int y1, int y2, PIXEL color)
{
PIXEL *mem;
mem = GET_FRAMEBUFFER(x1, y1);
for(; y1 < y2; y1++)
{
*mem = color;
mem -= LCD_WIDTH;
}
}
int main(void)
{
LCD_Init();
printf("hello virtlcd, i am ZhengN");
LCD_DrawHLine(10, 10, 350, WHITE);
LCD_ShowString(10, 30, LCD_WIDTH, LCD_HEIGHT, 12, "hello virtlcd, i am ZhengN");
LCD_ShowString(10, 50, LCD_WIDTH, LCD_HEIGHT, 16, "hello virtlcd, i am ZhengN");
LCD_ShowString(10, 70, LCD_WIDTH, LCD_HEIGHT, 24, "hello virtlcd, i am ZhengN");
LCD_DrawHLine(10, 110, 350, WHITE);
while(1);
return 0;
}