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.

[参考译文] MSP432P401R:是否可以在48MHz 下使用 SMCLK 为 UART 运行 eUSCI_A2模块?

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/678369/msp432p401r-is-it-possible-to-run-eusci_a2-module-for-uart-using-smclk-at-48-mhz

器件型号:MSP432P401R

您好!

我正在尝试使用 eUSCI_A2模块在我的应用中配置 UART。 我遇到的问题是确定时钟设置。 我使用 SMCLK 作为时钟源、但我认为我已经在某个地方读出该模块的最大时钟频率为24MHz。 但是、由于我的软件中的其他地方存在依赖关系、我完全不能将 SMCLK 用作任何低于48MHz 的频率。

我想我的问题是-我可以选择哪些方法来解决这个问题? 是否可以将此模块用于48MHz 的 UART、并且我是否配置了错误的设置? 下面是我从 TI 计算器中使用的波特率为9600的设置:

const eUSCI_UART_Config uartConfig =
{
EUSCI_A_UART_CLOCKSOURCE_SMCLK、 // SMCLK 时钟源
312、 // BRDIV = 312
8、 // UCxBRF = 2
0、 // UCxBRS = 0
EUSCI_A_UART_NO_奇 偶校验、 //无奇偶校验
EUSCI_A_UART_LSB_FIRST、 // MSB 优先
EUSCI_A_UART_One_stop_bit、 //一个停止位
EUSCI_A_UART_MODE、 // UART 模式
EUSCI_A_UART_oversampling_BAUDRATE_generation //过采样
}; 

在不能更改时、我是否必须使用与 SMCLK 不同的时钟源?

提前感谢您的任何帮助。

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

    没错。 如果您查看 MSP432P401R 器件第5.25.9节的数据表、则设计会将最大输入时钟限制为24MHz。 不保证任何高于24MHz 的操作。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Amit、您好!

    感谢您的快速回复。 鉴于 SMCLK 无法从48MHz 进行更改、您是否能够推荐任何可能的权变措施?

    - Jon
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请忽略我的最后一个。 使用 ACLK 就足以满足我的 UART 需求。 再次感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以使用 void CS_initClockSignal 将 SMCLK 分频器设置为2或24MHz、这正是我所做的。