简易功率测量仪(三)代码分析-显示数据

本文介绍如何在STM32上利用UCGUI库显示ADC采集的功率测量数据,通过2秒刷新屏幕实现波形显示,探讨窗口管理及数据采样策略,避免屏幕闪烁和数据不准确问题。
摘要由CSDN通过智能技术生成

这一节我们接着上节的内容,讲第二个层面:2、将处理好的数据显示在LCD上,并用曲线表示出P的变化。
这一节的功能实现可以说是整个代码编写中最难实现的部分了,如果我们要自己实现波形显示函数的画,涉及到的代码量就比较大了,幸运的是我们有GUI程序的帮助,哈哈,这就大大减少了我们的代码量,自己写波形函数真的能把人写死。
在我的程序中,我移植的是UCGUI的V3.90版本,版本有些低,这是因为我在网络上找到的只有这个版本的移植教程,所以就用这个了。在UCGUI里面,有现成的数值显示函数,函数曲线绘制函数(用这个来画波形),还有很多,由于我也是第一次使用这个,在找资料的过程中真的把人都给整傻了,所以,我会把我做这个题所用到的资料到放到网盘中,大家自取哈!
先贴一个大佬移植GUI的教程,比较详细,可以参考一下https://blog.csdn.net/qutiezhu/article/details/52373288?ops_request_misc=&request_id=&biz_id=102&utm_term=GUI%E7%A7%BB%E6%A4%8D&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-7-52373288这是链接,会有所帮助。
接下来我会贴出我实现波形显示和相关数据显示的代码。

#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
#include "gui.h"
#include "sys.h" 
#include "LCD_Driver.h"
#include "usart.h"
#include "adc_DMA.h"
#include "dealdata.h"
#include "led.h"
#include "WM.h"
#include "FRAMEWIN.h"
void DemoShowColorBar(void);
void DemoDispText(void);
//已知电阻
extern float R_know;

//转换后的模拟电压
extern float ADC_1_ConvertedValueLocal;//ADC1的模拟电压
extern float ADC_2_ConvertedValueLocal;//ADC2的模拟电压
signed short  ADC1_Converlocal[240];
signed short  ADC2_Converlocal[240];
float U=0,I=0,P=0;//都是负载的
//画方格子
void Draw_fanggezi(WM_MESSAGE* pMsg)
{
   
	GUI_Clear();
	GUI_SetColor(GUI_GREEN);//设置画笔的颜色
	/*画水平线*/
	
	GUI_DrawHLine(128,0,240);
	GUI_DrawHLine(160,0,240);
	GUI_DrawHLine(192,0,240);
	GUI_DrawHLine(224,0,240);
	GUI_DrawHLine(256,0,240);
	GUI_DrawHLine(288,0,240);
	GUI_DrawHLine(320,0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值