找回密码
 立即注册
楼主: fekcivws

求助,不同AD时钟分频,ADC采集结果不同

[复制链接]
  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-5 18:13:13 | 显示全部楼层
adc转换是连续采,达到数量停止采集,在由定期器开启下一周期采集,中断代码如下

void ADC_Isr(void) interrupt 5
{
        u16 tempdat = 0;
        //adc_val[adc_idx] = 0;
       
        tempdat = (u16)ADC_RES;
       
        tempdat <<= 8;
        tempdat += ADC_RESL;
        ADC_RES = 0;
        ADC_RESL = 0;
       
        if(tempdat >= AVAILBL_DATA)
        {
                adc_val[adc_idx] += tempdat;
                adc_val[adc_idx] >>= 1;
                adc_idx++;
        }
       
//        adc_val[adc_idx] = tempdat;
//        adc_idx++;
       
        ADC_CONTR &= ~ADC_FLAG;
       
        if(adc_idx >= BUFF_SIZE)
        {
                set_ADC_stop();
        }
        else if(adc_state_on == 1 )
        {//继续转换
                ADC_STAR;
        }
}
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-5 18:28:27 | 显示全部楼层
电源不稳定的话,同一AD采集频率下稳定,使用相同分频值能保证稳定复现
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-5 18:29:10 | 显示全部楼层
而且上面的表格显示竟然还有些规律
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-5 19:05:44 | 显示全部楼层
电源是稳定的,而且使用相同时钟数采集结果一样,根据表格看,时钟数还有一定的规律
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:142
  • 最近打卡:2026-03-15 21:57:39

6

主题

81

回帖

986

积分

高级会员

积分
986
发表于 2026-3-5 20:06:44 | 显示全部楼层
检查一下是不是有代码重入了,编译时有没有警告。
有时候代码重入了会覆盖局部变量,导致运算出错。
尝试一下不使用中断去读取是否正常。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:580
  • 最近打卡:2026-04-02 08:36:30

0

主题

74

回帖

2428

积分

金牌会员

积分
2428
发表于 2026-3-5 22:24:34 | 显示全部楼层
文档里是这么写的
极速截图202603052221.png
极速截图202603052222.png
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-9 08:51:17 | 显示全部楼层
蜗*** 发表于 2026-3-5 22:24
文档里是这么写的

没明白这个图啥意思,最高采集速度也没过500k,100k都没超
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-9 08:52:20 | 显示全部楼层
rm5*** 发表于 2026-3-5 20:06
检查一下是不是有代码重入了,编译时有没有警告。
有时候代码重入了会覆盖局部变量,导致运算出错。
尝试一 ...

代码没有重入,只是设置不同时钟保持数那块,得到的结果不同,改回原先的值可以复现
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:681
  • 最近打卡:2026-04-02 10:11:06

9

主题

622

回帖

4336

积分

论坛元老

积分
4336
发表于 2026-3-9 12:20:09 | 显示全部楼层
最好拿直流信号测试,避免不同采样速度和交流信号引起的混叠干扰
回复

使用道具 举报 送花

  • 打卡等级:初来乍到
  • 打卡总天数:2
  • 最近打卡:2026-03-09 08:51:17
已绑定手机

1

主题

13

回帖

33

积分

新手上路

积分
33
发表于 2026-3-9 13:56:07 | 显示全部楼层
测试去掉ADCEXCFG寄存器配置,还是这个现象,采样速度是上电后初始化配置一次,之后一直这个速度没变
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-4-2 21:09 , Processed in 0.125034 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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