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.

[参考译文] MSP430F5528:更改波特率发生器时、如何禁用/使能接收器和收发器。

Guru**** 2484615 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1232600/msp430f5528-how-to-operate-the-disable-enable-of-the-receiver-and-transceiver-when-changing-the-baud-rate-generator

器件型号:MSP430F5528

您好!  

在评估 SimpleUsbBackChannel 时、我们正在考虑使用 C2000来重写 C2Prog、从而改进 UPS 维护功能。

目前为 PC (C2Prog C2000固件重写软件)→USB 串行转换电缆→C2000- UART 端口(串行引导模式)。

我想用 MSP430 CDC (简单 USB 反向通道)替换此 USB 串行转换电缆。


所以我对它进行了测试、发现 C2Prob 将重写操作拆分为几个步骤来更改 baudlet。

在通信期间查看日志、可以在 baudlet 改变时序的同时接收到垃圾数据。

因此、我希望在更改波特率发生器时禁用/启用接收器和收发器。
您能告诉我如何设置寄存器以实现上述目的吗?

谢谢。

Conor

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

    尊敬的 Conor:

    在此提供一个指向 USB 转 UART 桥接器上的辅助控制示例的链接

    您是要更改 C2000器件还是 MSP430器件上的波特率? C2000团队将在 C2000方面以及 C2Prog 方面为您提供更多帮助。

    对于 MSP430、最好接收一些命令或使用 GPIO 来了解波特率何时发生变化。 如果你正在进行 GPIO 路由、你可以 通过清除 UCAxIE 寄存器来简单地禁用 UART 中断、然后在下一个 GPIO 信号上重新启用。 如果您使用命令、我会清除数据、直到收到"Done"命令、但在此期间您仍会接收到垃圾数据。

    此致、

    Luke

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

    您好、Luke

    C2Prob 的版本为 v1.9、因此我将其更新为 v2.05。 现在正在进行写入,但我仍然得到一个错误。

    如果将来的处理能力增加、如果从 USB 接收数据出现延迟、将会产生何种影响?
    ・NAK 被返回到 PC 端。
    ・丢弃不适合缓冲区的数据。
    ・除此之外,没有特别的效果,因此当数据采集时,它将正常工作。

    请告诉我、如果有任何上述影响以外的影响。

    e2e.ti.com/.../5483.main.txt

    谢谢。

    Conor

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

    尊敬的 Conor:

    如果速度增大或减小、使用硬编码延迟将导致一些不一致之处、最好检查标志或数据本身。 检查数据可以处理不同的速度。 我没有看到您的接收中存在的延迟、 在您进行 USB 发送后只有 for 循环。  

    我希望在器件准备好接收之前发送 NAK。 我很难理解问题出在信号路径中的哪个位置、是来自 PC -> USB -> MSP、还是来自 MSP -> UART -> C2000?

    此外、研究 USB 库的可用 API 也可能是有益的

    此致、

    Luke