前面我们保留我们的温湿度传感器读取方式,在移植了LVGL之后我们就可以通过其进行简单的数据显示了。
主函数中打开读取温湿度传感器数据的接口。
lv_obj_t *temp_label = lv_label_create(lv_scr_act());
lv_label_set_text(temp_label, "Temp:");
lv_obj_align(temp_label, LV_ALIGN_CENTER, -80, -40); \
temperature = 22.14;
temp_value_label = lv_label_create(lv_scr_act());
lv_label_set_text_fmt(temp_value_label, "%.2f", temperature);
lv_obj_align(temp_value_label, LV_ALIGN_CENTER, 0, -40);
lv_timer_create(temp_value_Refresh, 1000, &temperature);//定时更新
//lv_obj_add_event_cb(temp_value_label, event_set_parameter_value_handler, LV_EVENT_VALUE_CHANGED, NULL);
lv_obj_t *humi_label = lv_label_create(lv_scr_act());
lv_label_set_text(humi_label, "humi:");
lv_obj_align(humi_label, LV_ALIGN_CENTER, -80, 0);
humidity = 11.25;
humi_value_label = lv_label_create(lv_scr_act());
lv_label_set_text_fmt(humi_value_label, "%.2f", humidity);
lv_obj_align(humi_value_label, LV_ALIGN_CENTER, 0, 0);
lv_timer_create(humi_value_Refresh, 1000, &humidity);//定时更新
//lv_obj_add_event_cb(humi_value_label, event_set_parameter_value_handler, LV_EVENT_VALUE_CHANGED, NULL);
其中LVGL的demo取消我们改为我们自己写的,然后通过事件或定时更新都可以更新我们Label数据,我这里写的反而复杂了,其实两个数据,分别对应一个label就可以显示了。
我们这里用的一个浮点数的打印,所以需要开下其中的宏。要用到sprintf组合,不开这个你就需要自己去组合数据了。
后面就是刷新我们的数据即可了。
|