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.

[参考译文] MSP430FR2311:MSP430FR2311

Guru**** 2611705 points
Other Parts Discussed in Thread: MSP430FR2311

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/662109/msp430fr2311-msp430fr2311

部件号:MSP430FR2311

你好。

我在使用嵌入式系统方面有一些经验,现在我尝试回到嵌入式系统,使用MSP430FR2311 (使用启动板)。 我实施了UART,它可以正常工作9600 bps。 我确实是在拿数据,然后把它作为PC的一个附加设备。 充分沟通,一切顺利。 问题是:当我尝试更改速度4800,19200时,它不工作! 我根据建议设置波特率寄存器的值(假设错误不是很坏),但它从不准确地解码信息。 然后我去了一个更高的波特率,使用1MHz的计时器B作为UART的时钟源,这里RX中断从未激活。 为此,我使用了“资源管理器”中的一个示例(很确定是正确的),然后使用断点调试程序(按预期工作),删除了TX和RX的跳线(在描述相同问题的另一个线程中找到)。 结果是相同的。 我对此感到非常疯狂,有人能帮我找出问题所在吗? 为了更好地说明我的问题,我需要发布哪些内容?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否确认在捆绑RX和TX时有回声?
    我认为最好首先关注以您希望的速度运行回波代码,然后再尝试与蓝牙模块通信。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好。

    感谢你的帮助。 我尝试了2400,4800和9600 bps的速率,但成功了,我通过将RX和TX绑定来传输和获取回波。 在1.92万 bps时,即使RX中断已激活,也没有回声,因此我假设存在计时问题。 我为UCA0MCTLW尝试了不同的值,但运气不佳,但可能需要更多时间,我可以找到正确的值,但这不是解决此问题的方法,对吗? 我想现在我理解了这个问题,但您的意见非常有价值。 现在,如果可能,您可以帮助我解决另一个问题:我不想使用ACLK (UCSSEL_1),而是想以更高的速度(UCSSEL__SMCLK)尝试,但在尝试此操作时,RX中断甚至不会被激活,也不知道为什么;您可以支持吗? 谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好,Alejandro:

    您使用的是哪种低功耗模式?

    在LPM模式下,您应该考虑UART数据到来之前的时钟激活时间,例如LPM2或3。

    如果eUSI_A模块请求时时钟源尚未激活,则必须激活时钟。 这需要时间。 此时钟激活时间取决于所选时钟源和所选低功耗模式。 如果将SMCLK (由DCO提供)用作时钟源,则激活时间大约为特定于设备的数据表中指定的唤醒时间。

    作为一种变通办法,我建议您执行以下步骤。
    步骤1:在设备进入LPM2或LPM3之前禁用UART功能。
    步骤2:使用端口中断事件唤醒设备或使用UART中断的其他合理方法。
    步骤3:在端口或其他ISR中,客户需要将设备配置为AM模式以等待时钟激活,然后为第一有效字节启用UART。
    步骤4:客户需要保证在第一个有效启动标志出现之前激活UART时钟源。