pursuing 发表于 2025-1-23 14:53:38

ADC转换速度就是ADC中断产生的频率吗?

请教两个问题:

1. ADC转换速度就是ADC中断产生的频率吗?


2. 上面这个转换速度是很高的,可以达到几百k的速度。如果我用ADC中断读取方式,ADC interrupt 5每次产生一个adc_val,然后我定时器每10ms读取一次adc_val,就相当于每次抽样一个作为ADC结果?

王昱顺 发表于 2025-1-23 15:21:16

需要注意的是,ADC中断模式采样为单次,如果不在中断内再次启动ADC的话,是不会连续采样的。
不过进入中断和退出中断也会占用cpu,建议每次定时器读取完成后再开启一次ADC读取,终端内读取完成后就不再开启,等待定时器再次启动。按需使用,合理分配cpu占用

DebugLab 发表于 2025-1-23 15:41:39

王昱顺 发表于 2025-1-23 15:21
需要注意的是,ADC中断模式采样为单次,如果不在中断内再次启动ADC的话,是不会连续采样的。
不过进入中断 ...

也可参考实验箱UAC录放音声卡例程,用PWM周期触发ADC转换

pursuing 发表于 2025-1-24 08:37:43

DebugLab 发表于 2025-1-23 15:41
也可参考实验箱UAC录放音声卡例程,用PWM周期触发ADC转换

谢谢

pursuing 发表于 2025-1-24 08:41:25

王昱顺 发表于 2025-1-23 15:21
需要注意的是,ADC中断模式采样为单次,如果不在中断内再次启动ADC的话,是不会连续采样的。
不过进入中断 ...

谢谢回答。如果在中断中再次启动,只用ADC_START = 1;就可以,是吗?ADC_POWER不用关吧?否则不是还需要等1ms以上ADC电源稳定吗,那我的中断只能是大于1ms的了

王昱顺 发表于 2025-1-24 08:54:30

pursuing 发表于 2025-1-24 08:41
谢谢回答。如果在中断中再次启动,只用ADC_START = 1;就可以,是吗?ADC_POWER不用关吧?否则不是还需要 ...

只需要adc_start置1就可以了,等待1ms只适用于刚开启power的时候,开启了以后就没这个限制了,之后不进入省电模式之类的是不用关的

梁工 发表于 2025-1-24 16:28:29

这是从启动ADC到ADC转换完成的时间,实际还要进入中断读取数据,这还要多花点时间。对于AI8051U,最快转换时间为1us。
页: [1]
查看完整版本: ADC转换速度就是ADC中断产生的频率吗?