我正在处理一个使用 PWM 波作为 ADC 触发器的项目、我可以通过改变 PWM 波的脉冲宽度来调整采样频率。 转换结果将存储在电路板中的寄存器 ADCMEM0中、在中断服务路由(ISR)期间、ADCMEM0中的数据将提供给名为 ADC_Result 的变量。 不过、无论我如何更改脉冲宽度、在一个周期内只能获得几个样本(我尝试了高频波和低频波)、这意味着确切的采样频率极低。 有人知道如何解决这个问题吗?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在处理一个使用 PWM 波作为 ADC 触发器的项目、我可以通过改变 PWM 波的脉冲宽度来调整采样频率。 转换结果将存储在电路板中的寄存器 ADCMEM0中、在中断服务路由(ISR)期间、ADCMEM0中的数据将提供给名为 ADC_Result 的变量。 不过、无论我如何更改脉冲宽度、在一个周期内只能获得几个样本(我尝试了高频波和低频波)、这意味着确切的采样频率极低。 有人知道如何解决这个问题吗?
David、您好、谢谢您的回答、我的 ADC 配置和定时器如下所示、您可以来看一下吗?
//配置 ADC;
ADCCTL0 = ADCSHT_2 | ADCON; // ADCON
ADCCTL1 = ADCSHP | ADCSHS_2 | ADCSSEL_1 | ADCCONSEQ_2; // Rpt 单通道;针对 ADCCLK 的 ACLK;TA1.1触发
ADCCTL2 = ADCRES; // 10位转换结果
ADCMCTL0 = ADCINCH_1 | ADCSREF_1; // Vref 1.5v,a1.
ADCHI = High_Threshold; //窗口比较器高阈值
ADCLO = Low_Threshold; //窗口比较器低阈值
ADCIE |= ADCHIIE | ADCLOIE | ADCINIE; //启用 ADC 转换完成中断
//配置 ADC 计时器触发器 TA1.1
TA1CCR0 = 16384-1; // PWM 周期
TA1CCR1 = 8192-1; //占空比 TA1.1
TA1CCTL1 = OUTMOD_3; // TA1CCR1设置/复位模式
TA1CTL = TASSEL_1 | MC_1 | TACLR; // ACLK,向上计数模式
ADCCTL0 |= ADCENC; //启用转换
触发器被设定为每0.5s 采样一次