你好对话框,
我想使用ADC约500〜1K Hz采样率,这需要〜1Us级延迟。代码段是:
adc_init(gp_adc_se,0,gp_adc_attn3x);
adc_enable_channel(adc_channel_p01);
for-loop:
int data = adc_get_sample();
eNqueue(数据);
延迟(1US);
以前我使用软件Timer App_easy_Timer,但我发现简单计时器的最小延迟是10ms太大。当我搜索Timer0时,我发现它们主要用于PWM,音频等。我的问题是1)如何生成〜1us延迟?如果使用Timer0,是否有任何代码片段?2)Timer0在扩展睡眠模式期间工作吗?谢谢!
设备:
嗨敏感,
Timer0具有中断功能,您将能够同步使用该中断功能同步读取,关于如何设置Timer0中断功能,可以使用Timer0_General示例。关于1US延迟(500Hz至1kHz是2ms,1ms时期不是1us),您可以将Timer0配置为生成该时段的中断。关于睡眠,所有外围设备都被关闭,包括定时器和ADC。
谢谢mt_dialog.