时光の尘 2023-12-05 15:08 采纳率: 91.7%
浏览 7
已结题

STM32F103C8T6的ADC采集问题

STM32F103C8T6的ADC采集问题。
我ADC采集电压,采集值是正常的,但是波动太大,想进行采集11个值计算中值,但是不知道为什么加上中值的函数就采集错误,这是为什么

        char value_buff[N];
    char count,i,j,temp;
        
     for(count = 0;count < N;count++) 
      {
        value_buff[count] = AD_GetValue();            
      }        
            for(j = 0;j<(N-1);j++)
            {
                for(i = 0;i<(N-j);i++)
                {
                    if(value_buff[i]>value_buff[i+1])
                    {
                        temp = value_buff[i];
                        value_buff[i] = value_buff[i+1];
                        value_buff[i+1] = temp;
                    }
                }
            }
                 
        ADValue = value_buff[(N-1)/2];
        Voltage = (float)ADValue / 4095 * 3.3;

我把这一块的去掉,直接去取value_buff的中间值,发现也是错的

img


这是为什么呢?ADC导入数组是怎么导入的?

  • 写回答

2条回答 默认 最新

  • 时光の尘 2023-12-05 19:36
    关注

    char value_buff[N];
    char count,i,j,temp;
    将char改成uint16_t

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 12月13日
  • 已采纳回答 12月5日
  • 创建了问题 12月5日

悬赏问题

  • ¥15 求MCSCANX 帮助
  • ¥15 机器学习训练相关模型
  • ¥15 Todesk 远程写代码 anaconda jupyter python3
  • ¥15 我的R语言提示去除连锁不平衡时clump_data报错,图片以下所示,卡了好几天了,苦恼不知道如何解决,有人帮我看看怎么解决吗?
  • ¥15 在获取boss直聘的聊天的时候只能获取到前40条聊天数据
  • ¥20 关于URL获取的参数,无法执行二选一查询
  • ¥15 液位控制,当液位超过高限时常开触点59闭合,直到液位低于低限时,断开
  • ¥15 marlin编译错误,如何解决?
  • ¥15 VUE项目怎么运行,系统打不开
  • ¥50 pointpillars等目标检测算法怎么融合注意力机制