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.

[参考译文] CCS/MSP430F5659:UART 波特率设置

Guru**** 2581345 points
Other Parts Discussed in Thread: MSP430F5659

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/832773/ccs-msp430f5659-uart-baud-rate-setting

器件型号:MSP430F5659

工具/软件:Code Composer Studio

大家好、

我正在使用 msp430f5659连接 ESP8266模块,使用 UART 协议,我已根据 数据表将 UCA2BR0=9的波特率(115200)设置为1.04MHz。 一切都很好。

当我使用 SPI 协议将我的 DCO 频率设置为25MHz 用于 LCD 接口时、我的问题就会开始、  

我的 LCD 和 SPI 部件工作成功、但 ESP8266在我将 DCO 设置为25MHz 时没有响应、它仅显示一些垃圾结果、有时甚至不显示垃圾。

那么、有人可以建议我如何将 UART 器件设置为1.04MHz、将其其余部分设置为25MHz。 或者告诉我其他更好的选择。

此致

Vikash Raman

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

    您好 Vikash、

    当时、当所有设备都与 ESP8266和115kBaud 通信配合使用时、您有一些用于波特率生成的 UART 设置。

    如果我理解正确、那么您希望使用25MHz 的 SPI 接口来驱动和 LCD、我假设使用集成的 LCD 驱动器、该驱动器通过 SPI 进行通信。

    详细介绍一下、您是否将 UART 和 SPI 的 DCO 切换为25MHz?

    您是否打算始终以25MHz 的频率驱动 DCO? 或者、您希望 UART 通信的频率为1MHz、SPI 通信的频率为25MHz 吗?

    如果您希望在25MHz 下一直保持这两种频率、则当然需要调整 UART 的波特率设置、使其从1MHz 计时到适合从25MHz 导出波特率的设置。 还请记住、UART 和 SPI 在非常复杂的状态机下运行。 如果要为相应通信切换任何设置或参数、应通过设置 SW 复位位位来停止状态机、然后重新配置模块、然后再次释放模块的 SW 复位。 否则,您可能会使状态机运行正常。

    对于 SPI 和 UART 使用不同的时钟、您只能选择使用来自三个 MCLK (CPU)、SMCLK 和 ACLK 的不同时钟域、并将它们设置为不同的时钟源或使用相同的时钟源、但使用不同的预分频器设置、 当然、这会限制时钟频率的可用差异。 因此、更简单的方法是使用 UART 的波特率寄存器来运行同样从25MHz 开始的所需波特率。

    也许、通过更好地了解您的侧细节、我可以提供其他提示。

    此致

    Peter

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

    您好、Peter、

    感谢您的回复,实际上我必须为 UART 通信设置1.04MHz,为 SPI 设置25MHz,当我将 DCO 设置为25MHz 以运行 LCD 时,LCD 工作正常,但同时 UART 通信工作不正常。

    我已经为 UART 通信设置了以下寄存器、请参阅

    P9SEL|=BIT3+BIT2;
    UCA2CTL1|=UCSWRST;
    UCA2CTL1|=UCSSEL_2;//_UCLK;///CSSEL_2;
    UCA2BR0=217;
    UCA2BR1 = 0;
    UCA2MCTL|=UCBRS_0+UCBRF_9;///调制寄存器

    UCA2CTL1 &=~UCSWRST;
    UCA2IE |=UCRXIE;

    由于 ESP8266无法响应任何问题、因此请检查我的代码并解决我的问题、或者如果您能给我任何其他建议、则此寄存器不起作用。

    谢谢、此致

    Vikash

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

    您好 Vikash、

    很遗憾、我给您带来了坏消息。 您正在使用的器件 MSP430F5659的额定工作频率仅为20MHz。 这也是用户指南中的 UART 设置表仅列出高达20MHz 的设置的原因。 在25MHz 下、您将远远超过此规格限制。 因此,在这些条件下,进行调查是没有意义的。 很抱歉。

    此致

    Peter

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

    尊敬的 Peter:

    感谢您的支持和回复。

    现在我已经将 DCO 设置为16MHz,现在工作正常,SPI 和 UART 都工作正常。

    感谢 Peter 的建议。