1. 移植完成底层后,文字和划线无法显示
跟踪代码发现,划线的时候,会调用函数_FillRect
static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1)
{
LCD_Fill(x0,y0,x1,y1,LCD_COLORINDEX);
}
而每次查看到的LCD_COLORINDEX值都是0,很奇怪。。。
后来发现,是调用的有问题
GUI_SetColor(0xF);
GUI_SetPenSize(1); //设置画笔颜色,单位像素点
GUI_DrawLine(0, 15, 255, 15);
GUI_SetColor 不应该调用OLED底层的灰度值0xF,而应该调用GUI提供的颜色
GUI_SetColor(GUI_WHITE);
GUI_SetPenSize(1); //设置画笔颜色,单位像素点
GUI_DrawLine(0, 15, 255, 15);
改成这样就好了
对OLED这种自发光的屏,应该设置背光为黑色,其他灰度颜色,emwin会自行帮我们转换好的