根据题目中的条件,每个周期采集64个点,所以采样周期为1/10kHz * 64 = 6.4ms。考虑到时钟频率为72MHz,我们需要使用定时器以一定的时钟周期触发ADC采样。因此,我们可以设置ARR为: ARR = 72MHz * 6.4ms = 460.8 但是,由于ARR是一个16位的寄存器,最大值为65535,因此需要进行分频。假设使用了分频因子为8,则最终的ARR应为: ARR_final = 460.8 / 8 = 57.6 因此,将ARR设置为58即可。
时间: 2023-06-10 11:03:28 浏览: 112
感谢您的提问。根据题目中所述,每个周期需要采集64个点,每个周期的时间为1/10kHz,因此每个周期的时长为6.4ms。考虑到时钟频率为72MHz,我们需要使用定时器来触发ADC的采样。因此,我们可以设置ARR的值为72MHz * 6.4ms = 460.8。但是,由于ARR是一个16位的寄存器,最大值为65535,我们需要进行分频来将ARR的值缩小至65535以内。假设我们使用的分频因子为8,则最终的ARR应为460.8 / 8 = 57.6,取整后设置ARR为58即可。
相关问题
根据题目中所述,每个周期需要采集64个点,每个周期的时间为1/10kHz,因此每个周期的时长为6.4ms。考虑到时钟频率为72MHz,我们需要使用定时器来触发ADC的采样。因此,我们可以设置ARR的值为72MHz * 6.4ms = 460.8。但是,由于ARR是一个16位的寄存器,最大值为65535,我们需要进行分频来将ARR的值缩小至65535以内。假设我们使用的分频因子为8,则最终的ARR应为460.8 / 8 = 57.6,取整后设置ARR为58即可。460.8并未超过65535,为什么要分频
呢?
分频的目的是为了确保计数器不会超过定时器的最大值。对于本题来说,设置ARR为460.8,虽然没有超过定时器的最大计数值,但是由于ADC采样的时间和定时器的计数时间并不完全匹配,可能会导致采样误差。因此,我们需要通过分频来确保定时器的计数时间和ADC采样时间的匹配,并提高采样精度。
如果我要用ADC采样10kHz的正弦波,采用定时器触发,时钟频率是72MHz,一个周期采64个点,那ARR应该设置为多少
根据题目中的条件,每个周期采集64个点,所以采样周期为1/10kHz * 64 = 6.4ms。考虑到时钟频率为72MHz,我们需要使用定时器以一定的时钟周期触发ADC采样。因此,我们可以设置ARR为:
ARR = 72MHz * 6.4ms = 460.8
但是,由于ARR是一个16位的寄存器,最大值为65535,因此需要进行分频。假设使用了分频因子为8,则最终的ARR应为:
ARR_final = 460.8 / 8 = 57.6
因此,将ARR设置为58即可。
阅读全文