基于STM32与influxDB的电力监控系统-7
前言:
在切换页面时,ADC数据采集逻辑与页面显示逻辑不匹配。本文用于解决该问题。
一、问题分析
-
ADC采集逻辑缺陷:
-
当切换到FATFS页面时,ADC DMA采集被停止
-
但切换回数据/波形页面时,ADC采集没有重新启动
-
-
页面切换逻辑不完整:
-
缺少页面切换时的状态重置
-
波形缓冲区在非波形页面时没有被正确维护
-
二、具体代码修改
/* 全局变量添加 */
uint8_t g_prev_page = 0xFF; /* 前一个页面,用于检测页面变化 */int main(void)
{uint16_t i, j;float current_rms = 0, voltage_rms = 0;float current_value = 0, voltage_value = 0;uint8_t key_val;HAL_Init(); /* 初始化HAL库 */sys_stm32_clock_init(RCC_PLL_MUL9); /* 设置时钟, 72