找回密码
 立即注册
查看: 420|回复: 19

ADC采集为什么有时候是0?

[复制链接]
  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
    发表于 2023-12-21 14:42:35 | 显示全部楼层 |阅读模式
    芯片:STC8H1K08,用NTC测温,工作正常,有NTC开路或者短路异常检测,NTC明明是好的,但是有时候而尔会提示NTC短路,显示采集到的AD值为0,这个问题是随机的,有时半小时出现,有时几个小时才出现,百思不得其解,请大神指点,谢谢!                                                                                            
    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 78 天

    [LV.6]常住居民II

    0

    主题

    65

    回帖

    356

    积分

    中级会员

    积分
    356
    发表于 2023-12-21 16:13:21 | 显示全部楼层
    贴出来NTC测温部分电路图,大家才好分析
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 08:00
  • 签到天数: 142 天

    [LV.7]常住居民III

    0

    主题

    395

    回帖

    406

    积分

    中级会员

    积分
    406
    发表于 2023-12-21 17:01:49 | 显示全部楼层
    发电路图让大家看看
    靡不有初,鲜克有终
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-21 17:27:10 | 显示全部楼层
    请看原理图 微信图片_20231221172524.png
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-21 17:31:00 | 显示全部楼层
    用的是MF58红色玻璃管的NTC,应该不是NTC的问题,刚开始怀疑是2芯插座接触不良,后来直接焊上去还是一样
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-21 17:34:02 | 显示全部楼层
    出现异常的时候我用数码管显示出采集到的AD值为0,所以怀疑AD转换是不是有时候而尔没采集到数据
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-21 17:37:37 | 显示全部楼层
    本帖最后由 我的用户名 于 2023-12-21 17:50 编辑

    判断异常的程序我用连续检测3次来规避这个问题,100ms检测一次,如果3次都异常就判断为NTC异常,如果3次里面只有一次则忽略。只是想搞明白AD值为什么会是0?
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-23 08:55:09 | 显示全部楼层
    采样部分代码如下,请大神们帮忙看看是不是有问题,谢谢!

    u16 read_ADC10value()  //读取ADC数值
    {
        P_SW2 |= 0x80;          
        ADCTIM = 0x3f;                       
        P_SW2 &= 0x7f;          
       ADCCFG = 0x2f;   
       ADC_CONTR = 0x80;
        ADC_RES = 0;
        ADC_RESL = 0;
        ADC_CONTR |=(0x40 | 1);  // P1.1脚接NTC
        _nop_();
        _nop_();
        _nop_();
       _nop_();               
       while(!(ADC_CONTR&0X20)); //等待转换结束
       ADC_CONTR &=~0X20; //清除ADC结束标志         
       return (((u16)ADC_RES<<8) | ADC_RESL);
    }
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    奋斗
    2 小时前
  • 签到天数: 124 天

    [LV.7]常住居民III

    12

    主题

    315

    回帖

    882

    积分

    高级会员

    积分
    882
    发表于 2023-12-23 09:15:15 | 显示全部楼层
    试一下使能ADC多次转换功能
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2023-12-23 08:55
  • 签到天数: 1 天

    [LV.1]初来乍到

    1

    主题

    10

    回帖

    59

    积分

    注册会员

    积分
    59
     楼主| 发表于 2023-12-23 10:34:07 | 显示全部楼层
    jwg 发表于 2023-12-23 09:15
    试一下使能ADC多次转换功能

    我也想过这个问题,比如转换4次,如果其中有一次是0的话,那么平均后的数值就被拉低不准了,温度值也就不准了

    微信图片_20231223103145.png

    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-5 11:11 , Processed in 0.103160 second(s), 68 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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