• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

片外ADC通过SPI与MCU进行通信,采样卡死问题。

前功尽弃 2018-11-08 浏览量:2656

ADC采集数据,MCU的定时器每隔10ms读取寄存器中存储的采样数据,但运行一段时间后就出现采样死掉,数据不再更新的问题。复位后,又能读取实时更新的采样数据,请问是什么原因?


0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 要确定是你的单片机卡,还是ADC卡,外部的ADC卡的可能性是很小的,这种ADC功能单一,BUG比较少,应该是你的单片机的程序上有逻辑上的BUG。
    • 发布于 2018-12-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:15
  • 片外的ADC模块通过SPI与MCU通讯的时候通常ADC模块都有一个RDY引脚,这个是数据准备好引脚,如果是不定时采集,可以根据这个引脚引起的中断进行采集。

    如果是定时采集ADC,需要了解ADC的转换速率,保证每一次采集的时间不超过采集间隔时间。

    程序可以在10ms中断产生后先读取ADC结果,然后让ADC重新采集数据并转换,在下一次10ms中断来临的时候,读取上一次转换命令的结果。

    这样就可以充分利用10ms的采集间隔进行数据转换。

    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 1
    • 0

  • 应该是读取ADC函数没写好,频率读取太频繁容易引起ADC死机!
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是中断的问题 打断了adc采样的动作 导致adc函数不正常
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 是不是读取的时候正好在转换采样数据,导致异常引起的,可以将时间放长点试试。
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 有可能是单片机死了,也有可能是adc通信有问题了,或者adc死了,写代码排查一下。
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个 最有可能的是你的中断没有配置好,读取数值时需要判断AD芯片是否准备好
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 看起来像是外部ADC没有配置好,在ADC采样还没有完成的时候读取ADC值,可能会和ADC值更新冲突。看下规格书,是否每次更新ADC值小于10ms。实际建议通过ADC报中断的方式读取,这种外置ADC通常有一个中断引脚,在ADC值更新时报中断,此后MCU再去读取,这样会可靠些。
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个要看ADC芯片是手册了。

    最大可是就是ADC数据正在转换中无法读取,太频繁读取可能会造成死机

    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 要分一下是ADC的问题,还是程序中的程序无法更新数据的问题
    • 发布于2018-11-08
    • 举报
    • 评论 0
    • 0
    • 0

  • 减少读数据的频率,这可能是因为读太频繁
    • 发布于2018-11-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 两种可能,一是ADC卡死了,这种重新初始化ADC就行,二是单片机死机了,这种要看一下单片机卡死在哪个函数
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 可能是参数设置错了,一般多运行几次但是有时候也会卡死所以我感觉是配置的问题
    • 发布于2018-11-28
    • 举报
    • 评论 0
    • 0
    • 0

  • 这种情况可以直接加一个看门狗,在你的单片机卡死的时候进行复位的操作
    • 发布于2018-12-13
    • 举报
    • 评论 0
    • 0
    • 0

  • ADC的问题基本都是配置的问题,是不是你的ADC被阻塞了
    • 发布于2018-12-17
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

片外ADC通过SPI与MCU进行通信,采样卡死问题。