此次做的一个实验是,获取电压数据,然后通过2.5英寸的电容屏显示出来,效果如下图
显示部分代码如下:
extern float V_val;//电压值
lv_obj_t* label3;
void test_adc_V(lv_timer_t* timer)
{
lv_label_set_text_fmt(label3, "BATT: %.2fV", V_val);//格式化显示输出
lv_obj_align(label3, LV_ALIGN_TOP_LEFT, 0, 15); //显示坐标设置
}
//测试字样
void test_label()
{
static lv_obj_t* default_scr;
default_scr = lv_scr_act();
lv_obj_t* label = lv_label_create(default_scr);
// lv_label_set_text(label, "神秘藏宝室");
lv_label_set_text(label, "铭苏工作室");
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
// lv_obj_t* label2 = lv_label_create(default_scr);
// lv_label_set_text(label2, "hello world...........");
// lv_obj_align(label2, LV_ALIGN_TOP_LEFT, 0, 0);
static lv_style_t style; //定义一个样式
lv_style_init(&style); //样式初始化
lv_style_set_text_color(&style, lv_palette_main(LV_PALETTE_BLUE));
lv_style_set_text_font(&style, &Font_PuHui);
lv_obj_add_style(label, &style, LV_STATE_DEFAULT);
label3 = lv_label_create(default_scr); //创建一个缓存标签
lv_timer_create(test_adc_V, 1000, &V_val);//定时更新
}
其中主要控制的代码为:
对与电池电压的获取,放在了main.cpp中
终端打印的数据: