数据读取与处理

0
回复
212
查看
[ 复制链接 ]

199

主题

32

回帖

725

积分

管理员

积分
725
2025-5-3 19:08:52 显示全部楼层 阅读模式
#define ADC_BUFF_SIZE 256
uint32_t adc_buff[ADC_BUFF_SIZE];

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) {
    // 应用移动平均滤波
    static uint32_t filter_buff[4][8];
    for(int i=0; i<4; i++){
        filter_buff[i][7] = adc_buff[i];  // 更新缓冲区
        uint32_t sum = 0;
        for(int j=0; j<8; j++) sum += filter_buff[i][j];
        current_values[i] = sum >> 3;  // 右移3位相当于除以8
    }
}

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则