本帖最后由 lugl4313820 于 2024-2-19 14:58 编辑
【ST NUCLEO-U5A5ZJ-Q开发板测评】ADC体验之一
【ST NUCLEO-U5A5ZJ-Q开发板测评】ADC体验之二
【ST NUCLEO-U5A5ZJ-Q开发板测评】ADC体验之三
【ST NUCLEO-U5A5ZJ-Q开发板测评】移植TouchGFX实现数字时钟
在上面几篇帖子的综合体验中,今天把他们结合在一起,实现touchGFX的数字电压表,还带有实时曲线功能哦。
这里只讲述如何把电压展示到OLED屏上
在Model.cpp的tick函数中,我们取用DMA获取的ADC数据进行简单的平均,然后通过展示函数发送给Presenter,由SreenView来展示数据电压与实时曲线。
1、先用TouchGFX来设计一文本,让其显示电压值:
2、添加一个曲线显示控件,用于显示实时的图形:
在model.cpp中代码是把DMA的ADC数据平均,向P发送显示的命令与数据:
在screeView中,我们把获取的电压值,更新到文本显示中,以及把数据点添加到图形中:
void Screen1View::UpVal(float val)
{
Unicode::snprintfFloat(textArea1Buffer, TEXTAREA1_SIZE, "%.3f", val);
textArea1.invalidate();
dynamicGraph1.addDataPoint(val);
}
【实验效果】
转动电位器,电压实时变化,曲线也跟随变化,效果如下视频:
touchGFX电压曲线