LVGL移植到AT403

考虑到GUI一般比较吃内存,使用403,本芯片可以配置开启最大224KB SRAM。

和其它开源软件类似,移植源码,移植接口,加几个头文件基本上就OK了。

这个GUI最简单的是只要移植刷位图就可以。

代码可以优化不少,直接使用DMA可以快速的发送一些列连续的数据。测试SPI 50M处理480x320.

效果还行。

加入RTOS后刷屏可以加入信号量,使用中断唤醒刷新任务,高效率实现刷屏。

配置刷多少行。如果内存够直接开两个显存,效果最完美,内存不大不小,可以适当配置。

内存耗费:60*320*2*2 = 75K(显示缓冲区) 64KB动态内存池。

由于我使用的是TFT是18位模式,所以开辟了一个大内存作为动态内存分配池。

实际使用可以适当减小。设置行数也是一样。

调用LVGL最基础的调用 lv_init();

	// 定义风格
	static lv_style_t lv_style_list;
	//LV_SYMBOL_HOME
	lv_style_init(&lv_style_list);
	
	// 声明引用外部目标函数
	extern lv_font_t myFont;
	// 给style重新定向字体
    lv_style_set_text_font(&lv_style_list, LV_STATE_DEFAULT, &myFont);
	// 定时空间
	lv_obj_t * bar1 = lv_bar_create(lv_scr_act(), NULL);
	lv_obj_set_size(bar1, 200, 20);
	lv_obj_align(bar1, NULL, LV_ALIGN_CENTER, 0, 0);
	lv_bar_set_anim_time(bar1, 1000);
	lv_bar_set_value(bar1, 50, LV_ANIM_ON);
	// 创建标签空间
	label = lv_label_create(lv_scr_act(), NULL);
	// 装载新的style 给标签。
	lv_obj_add_style(label, LV_OBJ_PART_MAIN, &lv_style_list);

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值