GD350移植LVGL

1.移植過程發現很多頭文件include 加了準確的文件位置。由於本人一直是自己在工程中加的inc path.

按照這個移植來說,就不要加inc.

2.移植過程發現 有一個lv_conf_internal.h 以爲是lv_conf的模版,這個是默認的配置。上一級的lv_conf_template.h纔是模版。

3.設置動態內存的時候發現如果設置比較小,使用LV的動態內存模塊會出現 hardfault,使用microlib的mallloc這些函數就不會,可以正常運行。

移植也很簡單,只需要實現畫圖功能就可以,定義一些靜態內存做爲刷屏緩衝區使用。

就目前來看這些GUI都比較喫內存,沒有內存玩不轉。很難在小內存MCU中運行。

一個像素是16位,也就是兩個字節,所以X2.

SPI 接口的TFT需要更改爲顏色交換。

    lv_obj_t * page = lv_page_create(lv_scr_act(), NULL);
	lv_obj_set_size(page, 300, 200);
	lv_obj_align(page, NULL, LV_ALIGN_CENTER, 0, 0);
	
	lv_obj_t * label = lv_label_create(page, NULL);
	lv_label_set_long_mode(label, LV_LABEL_LONG_BREAK);
	lv_obj_set_width(label, lv_page_get_width_fit(page));
	lv_label_set_text(label,"1.DMX512\n"
							"2.DMX512\n"
							"3.DMX512\n"
							"4.DMX512\n"
							"5.DMX512\n"
							"6.DMX512\n"
							"7.DMX512\n"
							"8.DMX512\n"
							"9.DMX512\n"
							"10.DMX512\n"
							"11.DMX512\n"
							 );
						 
	while(1)
	{
		lv_task_handler();
		lv_page_scroll_ver(page,-5);	
		delay_cpu(1000);
	}

// 學習函數lv_page_scroll_ver 手動設置滑動方向。
// 還需要注意這裏的菜單 是"str1\n" "str2\n" 這種寫法有意思。

字符串寫法比以前"str1\n" "str2\n"美觀不少。

 

GUI功能還是比計較豐富,就是也喫ROM。精簡了下都到80KB了。

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