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);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章