找回密码
 立即注册
查看: 239|回复: 3

关于adc_stc.c中16次ADC采集的平均值问题

[复制链接]
  • TA的每日心情
    郁闷
    2024-2-24 11:16
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    2

    主题

    7

    回帖

    134

    积分

    注册会员

    积分
    134
    发表于 2024-1-10 15:57:43 | 显示全部楼层 |阅读模式
    本帖最后由 Q289466080 于 2024-1-10 15:57 编辑
    1. uint16 GetADC_CHX(uint8 chx)
    2. {
    3.     uint16 ADCx;
    4.     uint8 i;
    5.     ADCInit(0); //ADC 初始化
    6.     //通过ADC的chx通道读取Bandgap电压的ADC测量值
    7.     ADCRead(chx); //前两个数据丢弃
    8.     ADCRead(chx);
    9.     ADCx = ADCRead(chx);
    10.     for (i = 0; i < 16; i++)
    11.     {
    12.         ADCx += ADCRead(chx);
    13.     }
    14.     ADCx >>= 4; //取平均值
    15.     return ADCx;
    16. }
    复制代码
    代码中(代码是adc_stc.c中的),FOR循环前有一次采样,FOR循环里有16次,一共17次。>>4是16次平均值
    范例代码:1-老刘爱捣鼓示波器,使用I2C OLED屏显示或者通过USB-CDC虚拟串口送STC-ISP虚拟OLED接口显示
    回复 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 08:42
  • 签到天数: 142 天

    [LV.7]常住居民III

    20

    主题

    1086

    回帖

    2585

    积分

    金牌会员

    积分
    2585
    发表于 2024-1-10 16:57:20 | 显示全部楼层
    诶 好像看起来是有问题的0.0  emm 这不应该测不出来问题把。。
    等大佬们的回复看看
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 19:56
  • 签到天数: 171 天

    [LV.7]常住居民III

    17

    主题

    371

    回帖

    1359

    积分

    荣誉版主

    积分
    1359
    发表于 2024-1-10 17:07:54 | 显示全部楼层
    本帖最后由 社区闲人 于 2024-1-10 17:10 编辑

    楼主有心了,确实是代码不严谨。第12行应改为:ADCx = 0;
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    慵懒
    昨天 08:42
  • 签到天数: 142 天

    [LV.7]常住居民III

    20

    主题

    1086

    回帖

    2585

    积分

    金牌会员

    积分
    2585
    发表于 2024-1-10 17:16:07 | 显示全部楼层
    社区闲人 发表于 2024-1-10 17:07
    楼主有心了,确实是代码不严谨。应该删除第12行。

    直接删除会有问题把,,如果工程配置在large模式,这个ADCx变量应该会被定义到xdata区 由于xdata区中的数据不会被清除的原因,如果不加入对变量的初始化代码。直接进行运算操作应该会导致数据错误把。
    我感觉 要么在定义变量的时候直接对变量进行初始化操作,或者在这个变量使用前进行初始化操作。
    可以把11行代码 改为ADCx = 0; 应该就可以了。
    不知道我上面的理解是正确的么。。我记得会有问题
    参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
    技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-18 00:49 , Processed in 0.065560 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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