然后,我们将lv_port_indev_init()函数将除了触摸屏之外的输入设备的初始化代码注释掉。接着,我们将除了触摸屏之外的输入设备的初始化函数也注释掉。 接着,我们在touchpad_init()函数中初始化触摸屏。 staticvoidtouchpad_init(void){/*Your code comes here*/Touch_Init();} 然后,我们还需要配置...
lv_port_disp.c里面的内容主要有: 我们需要重点关注lv_port_disp_init显示接口初始化函数与disp_flush屏幕刷新两个函数。 其中,lv_port_disp_init函数里主要要选择一种写缓存的方式及设置显示分辨。我们选择第一种写缓存的方式,修改后的函数如: // 微信公众号:嵌入式大杂烩 void lv_port_disp_init(void) { ...
1、将lv_port_disp.c和lv_port_disp.h文件宏都打开,并修改.c文件中相应头文件名字,将template去掉。 2、找到lv_port_disp_init()初始化函数,我们使用第一种方法,并修改屏幕宽度,我的屏幕是800*480的,所以我改为800。 如果你有外扩sram或者sdram这里可以配置与屏幕一样大。 我这里有sdram我就放到sdram中了。
lv_port_disp.c里面的内容主要有: 我们需要重点关注lv_port_disp_init显示接口初始化函数与disp_flush屏幕刷新两个函数。 其中,lv_port_disp_init函数里主要要选择一种写缓存的方式及设置显示分辨。我们选择第一种写缓存的方式,修改后的函数如: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 voidlv_port_...
我们实际调用 lvgl 并只进行显示时,是 lv_init() 然后再 lv_port_disp_init() 两步。看下 lv_port_disp_init() 里面有个 disp_init(),再点进去有个 /* You code here */ 的提示,这里就是让你放屏幕驱动初始化的,也就是把前面写的上电配置 Initialize 函数给放到这里。
5、找到disp_init()函数,并在其中添加LCD的初始化代码。 该函数会被lv_port_disp_init()调用。 6、找到disp_flush()函数,并根据你的硬件实际情况,将其改写。比如这是使用GLCD_DrawBitmap进行实现的参考代码: 代码语言:javascript 代码运行次数:0 运行 ...
lv_port_disp_init()是一个最顶层的初始化显示设备的函数,在主函数中需要调用它一次性初始化显示设备的功能。该函数的修改方式注释里已经写的较为清楚了,接下来提供一个修改示例。 首先将 91~102 行的两个提供显示缓存的语句全部注释或删除,只保留/* Example for 1) */。然后修改 114~115 行的两个数值为实...
2.进行LVGL的显示设置:在lvgl中有一个文件lv_port_disp.c在该文件中进行下面的操作在 disp_flush函数中进行相关填充函数的配置。 首先在其头部引入头文件 #include"lcd.h" 在disp_init函数中写入LCD_Init();进行相关的初始化。 LCD_ColorFill(area->x1,area->y1,area->x2+1,area->y2+1,(uint16_t*)...
lv_port_disp_init();//显示器显示初始化 lv_demo_widgets(); //UI创建 while (1){ /* 执行UI任务 */ lv_task_handler(); } 1. 2. 3. 4. 5. 6. 7. 至此,LVGL移植完成。 官方参考文档:https://docs.lvgl.io/latest/en/html/index.html...
修改void lv_port_disp_init(void)屏幕驱动初始化函数。 lvgl官方提供了三种缓存模式,想要详细了解的可以在官网查询相关资料,本文章不过多赘述,我们本次使用了单缓存模式,其余两种模式注释掉即可.也由于屏幕比较小,所以缓存大小便是屏幕大小。 lvgl的绘图实现函数static void disp_flush(lv_disp_drv_t *disp_drv,...