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.

[参考译文] TM4C1231D5PZ:使用不带 ADC_CLOCK_RATE_*的 ADCClockConfigSet

Guru**** 2034770 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1345133/tm4c1231d5pz-using-adcclockconfigset-without-adc_clock_rate_

器件型号:TM4C1231D5PZ

所有、

这更多地是一个与 Tiva 外设库相关的问题、当使用 ADCClockConfigSet 时、提供任何 ADC_CLOCK_RATE_*参数是否实际上是强制性的?

目前、我们将该函数调用为"ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PIOSC、1);"

然后、我们使用 ADC 触发计时器以1KHz 的频率设置我们的实际采样率、因此是否真的需要提供该第二个参数以及时钟源? 将0写入 ADC 外设配置寄存器中的 ADC 采样率会有什么影响、当缺少此参数时、该函数似乎会做什么?

提前感谢您、

杰西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    目前、我们将该函数调用为"ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PIOSC、1);"

    [/报价]

    您的上述声明将使用 PIOSC 除以1 (16MHz)作为 ADC 和以最大采样率采样的时钟源。 您的上述声明将作为已是默认设置的效果。 换句话说、如果您不调用  ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PIOSC、1)、则将获得相同的结果。  

    [quote userid="577505" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1345133/tm4c1231d5pz-using-adcclockconfigset-without-adc_clock_rate_难道真的需要提供第二个参数和时钟源吗? [/报价]

    如果不设置转换速率(例如 ADC_CLOCK_RATE_FULL)、则它默认为最大转换率。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Charles、

    我的问题是、似乎始终会根据功能代码写入此寄存器

    因此、在我看来、这个寄存器不是0x7、而是变为0x0、这是问题吗?

    当我调用 ADCClockConfigGet ()时似乎也是这样,我得到0x1,这意味着 PIOSC 被选为时钟,但我希望得到0x71,表示 PIOSC 源和默认的1Msps,如果我在没有函数调用的情况下调用它,我得到0x70

    此致、

    杰西

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jesse:

     我明白你在说什么。 我只是在未指定  adc_clock_rate_full 的情况下尝试了一下。 ADCPC 寄存器变为0。 "0"应是保留值。 我认为它对内部 ADC 操作没有影响、并回退到该行为、就像配置了完全转换一样。 我在 LaunchPad 上通过将 AIN0引脚短接至 GND 或3.3V 来尝试它、然后我看到转换值为0000或4095。 在任何情况下、如果您将调用 ADCClockConfigSet、则请指定转换率。 如前所述、在本例中、您可能已经 完全省略了 ADCClockConfigSet 、它将默认为 ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PIOSC | ADC_CLOCK_RATE_FULL、1)。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jesse:

     抱歉、 我错误地认为您使用的是 TM4C129 MCU、但您使用的是 TM4C123。 我上面介绍的内容仅适用于 TM4C129。 如果您使用 TM4C123并且想要使用 PIOSC 作为时钟源、则必须调用  ADCClockConfigSet (ADC0_BASE、ADC_CLOCK_SRC_PIOSC | ADC_CLOCK_RATE_FULL、1)、因为对于 TM4C123、PIOSC 不是 ADC 的默认时钟源。