ADC采集数据,MCU的定时器每隔10ms读取寄存器中存储的采样数据,但运行一段时间后就出现采样死掉,数据不再更新的问题。复位后,又能读取实时更新的采样数据,请问是什么原因?
片外的ADC模块通过SPI与MCU通讯的时候通常ADC模块都有一个RDY引脚,这个是数据准备好引脚,如果是不定时采集,可以根据这个引脚引起的中断进行采集。
如果是定时采集ADC,需要了解ADC的转换速率,保证每一次采集的时间不超过采集间隔时间。
程序可以在10ms中断产生后先读取ADC结果,然后让ADC重新采集数据并转换,在下一次10ms中断来临的时候,读取上一次转换命令的结果。
这样就可以充分利用10ms的采集间隔进行数据转换。
这个要看ADC芯片是手册了。
最大可是就是ADC数据正在转换中无法读取,太频繁读取可能会造成死机