OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5929|回复: 2

奇怪的stm32H750 dma adc采集回调函数

[复制链接]

13

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
749
金钱
749
注册时间
2020-6-24
在线时间
311 小时
发表于 2021-8-24 09:36:40 | 显示全部楼层 |阅读模式
1金钱
  stm32H750使用 Hal库+FreeRTOS,发现ADC的回调函数打开后所有其它任务和中断都停了,回调函数部分的均值滤波已经是在时间上优化过,还是不行,大家帮我看看这段代码哪里有问题,回调函数里面的代码注释掉其它任务运行正常,dma方式的adc采集也是正常的(难道DMA方式就不能开ADC转换结束回调函数了?)。

void  HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc){
        if(hadc->Instance ==hadc3.Instance)
        {
                tickCntAdc3++;   //40000更新一次
                if((tickCntAdc3%1000)==0)
                {
                  Adc3Sum[0]+=Adc3OutBuf[0][0];
                  Adc3Sum[1]+=Adc3OutBuf[0][1];
                  if(tickCntAdc3>=40000)
                  {
                         tickCntAdc3=0;
                         Adc3Sum[0]/=40;
                         Adc3Sum[1]/=40;
                         Adc3OutBuf[1][0]=Adc3Sum[0];
                         Adc3OutBuf[1][1]=Adc3Sum[1];
                  }
          }
        }
}

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
749
金钱
749
注册时间
2020-6-24
在线时间
311 小时
 楼主| 发表于 2021-8-24 09:59:24 | 显示全部楼层
  应该是stm32H750的采集频率太高了,导致回调函数里面基本上没时间处理任何内容,把stm32H750的采集频率降低就好了!
回复

使用道具 举报

0

主题

465

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1732
金钱
1732
注册时间
2021-4-11
在线时间
320 小时
发表于 2021-8-24 09:59:47 | 显示全部楼层
帮顶            
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 02:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表