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.

[参考译文] MSP432E401Y:实现 RS 至232

Guru**** 2511415 points
Other Parts Discussed in Thread: MSP432E401Y, TRSF3243, TRS232, MSP-EXP432E401Y

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1309901/msp432e401y-implementing-rs-232

器件型号:MSP432E401Y
主题中讨论的其他器件: TRSF3243MSP-EXP432E401Y

您好!

我有一个基于 MSP432E401Y 的产品、需要修改才能实现 RS -232接口。 通过查看 MSP432E401Y 的数据表、我找到了 要使用的相应引脚以及 UART 寄存器在存储器中的位置、但我尚不清楚有关实施 RS -232的许多详细信息。

只有几个问题、我仍然不知道该怎么做、包括如何设置波特率、如何发送一个数据字节、数据传入字节的位置、传入和传出数据的极性等。

有人能向我解释这些问题吗?或者是否有可用的文档对这些问题进行解释?  我在我的数据表中没有看到任何内容。

谢谢你。

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

    我用 RS232和 RS485通信创建了几个项目。

    如果您使用的是系统配置工具、操作非常简单-只需在 GUI 上添加一个 UART 通道、选择要使用的 UART、然后从可用 IO 引脚列表中选择这些引脚。 如果您使用 UART 2 (这意味着 UART 2驱动程序、而不是 UART 2)、您将获得使用 DMA 的额外选项。

    设置设备时,您可以在代码中选择波特和其他串行通信设置:-

    uart_params_init (&uartParams);
    uartParams.writeDataMode = UART_DATA_binary;

    ...

    /*为控制台创建 UART */
    uart = uart_open (CONFIG_UART_0、&uartParams);

    然后通过驱动程序函数调用 UART_read 和 UART_write 发送和接收数据

    微控制器输出的数据是3.3V 正逻辑(1 =高电平)。 如果需要、还需要 RS232驱动器器件。

    如果您是很困难的、我建议从 SDK 中的示例之一开始。 Launchpad 有一个演示串行通信项目。 逐步执行并查看它设置了什么寄存器。 有点费力,但它有效。 据我所知,在 Eclipse 调试器中,您可以将寄存器设置转储到一个文件中,这样就可以很容易地检查发生了什么变化。

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

    感谢您的答复、但我看到我忘记了包含一项重要信息。 我的项目是用汇编语言编写的、因此我需要了解有关如何设置 UART 寄存器以使 RS -232正常运行以及如何通过这些寄存器发送和接收数据的更多详细信息。  似乎必须在某处制定数据表来说明具体做法。

    我不熟悉 SDK 示例或者如何使用调试器确定它们如何工作、因此 对于一些非常简单的问题、我需要花费大量时间才能获得解答。 我希望有人可以向我提供我需要的信息或向我提供相关的数据表。

    我将使用 TRSF3243作为 RS -232驱动器。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    仅几个问题我仍然不知道如何做,包括如何设置波特率,如何发送一个数据字节,其中一个传入的数据字节将被定位,传入和传出的数据的极性等

    TRM 中描述了所有寄存器、而不是器件数据表。 请参阅 TRM  https://www.ti.com/lit/pdf/slau723。UART 数据写入后、将会接收到 UARTDR 寄存器中的数据。 通过 UARTIBRD 和 UARTFBRD 寄存器设置波特率。 另外还有 UARTLCRH 和 UARTCTL 等控制寄存器用于设置该线路。  

    [报价 userid="470468" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1309901/msp432e401y-implementing-rs - 232/4976653#4976653"]但是我发现我忘了包含一条重要信息。 我的项目是用汇编语言编写的、因此我需要获取有关如何设置 UART 寄存器以使 RS -232正常运行以及如何通过这些寄存器发送和接收数据的更多详细信息。

    SDK 中有使用提供的 UART 驱动程序的 UART 示例。 是否很难为 UART 进行汇编代码? UART 不是快速通信接口。  我真的怀疑您是否可以在汇编语言中实现任何显著的性能增益、但这是您的调用。 为什么不使用驱动程序来构建您的应用?  

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

    非常感谢您、我认为 slau723文档正是我需要的。

    我将使用汇编语言来进行 UART、因为整个产品都是用汇编语言编写的。   我意识到我可能只占其中的一小部分、但在设计独立产品时、我更喜欢使用汇编语言进行编码。  我感觉自己更好地了解了最终产品的工作原理以及不同功能之间的相互作用、因为我是在机器级别进行处理的。  使用更高层次的语言会增加一个我不喜欢的抽象层。  我还认为、在使用汇编编码时、我有更多的机会来优化代码、从而获得卓越的产品。

    如果我正在为计算机编写代码、我将使用适合项目的任何更高级别的语言。

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

    比软件更重要的是、需要外部驱动程序、如 TRS232:

    https://www.ti.com/product/TRS232

    将直接 RS232连接到 MCU 是一种有保证的杀死它的方法。

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

    我的计划是 将 TRSF3243用作 RS -232驱动器。 RS232是否是更好的选择?

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

    我只是使用它作为示例。 我使用了 TRS3122、因为它有一个 EVM。

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

    我已按照 slau723的第26.4节中的说明在 PD4-7引脚上设置 UART2、希望在 PD5 (引脚126)上看到数据字节、但我运气不好。  有一点根本不清楚、就是如何通过写入 UARTCC 来配置时钟源。  该指令提示通过写入 UARTCC 来配置它、但我无法在任何地方看到我应该使用的值。

    看一下 SDK 中使用 SDK-232的示例之一可能会很有意思 RS。  是否有一个最适合查看的具体示例? 如果有 nortos 示例、我最感兴趣。

    谢谢你。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    指令提示通过写入 rs 来配置它,但我看不到任何我应该使用的值。

    我同意所有字段都保留的说法有点令人困惑。  

    下面是 TM4C129 MCU 的数据表、它与 MSP432E 器件相同。  

    Unknown 说:

    看一下 SDK 中使用 SDK-232的示例之一可能会很有意思 RS。  是否有一个最适合查看的具体示例? 如果有 nortos 示例、我最感兴趣。

    [/报价]

    您可以参阅此 UART 示例。  

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

    好的、看起来 UARTCC = 0使用系统时钟、这就是我需要的、而且这是默认值、所以我只需保持这样。

    我找到了 uart_echo 示例。 看起来这正是我所需要的、我通过单步执行代码来了解它们如何获取 RS -232 I/O 设置和运行将非常有帮助、 但是、我已经有一段时间没有使用这些示例程序、并且不记得加载它们并使其正常工作的步骤。

    我能否获得有关如何在 CSS 11.2.0中打开 uart_demo 示例并将其加载到 MSP-EXP432E401Y 开发板中的快速教程?  我相信这可能是一个简单的过程,但我不记得如何做。

    谢谢你。

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

    使用 CCS 中的 Resource Explorer 下载 uart_echo 示例。 请参见下方的。  

    下载示例后、只需单击"Hammer"图标即可构建工程、将代码加载到 MCU 中、然后就可以运行了。  

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

    我对这种方法的问题是我从未将我的开发计算机上网。

    我在这台计算机上提供了所有示例、包括 uart_demo、因此我可以从中进行使用。  我只是不记得如何加载它来使它工作。  我想我需要在某个位置加载 uart_echo_MSP_EXP432E401Y_nortos_css.projectspec 文件(位于 CCS 子目录中)、但我不记得我使用什么命令来执行该操作。

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

    如果您的计算机未联机、则可以从本地安装的 MSP432E SDK 导入示例。  

    在 CCS 中、选择"File"->"Import"、然后选择"CCS Project"。

    使用浏览按钮导航到包含 uart_echo 示例的目录、该示例位于 C:\ti\simplelink_msp432e4_sdk_4_20_00_12\examples\nortos\MSP_EXP432E401Y\driverlib\uart_echo\ccs

    导入工程后、您只需单击"Bug"按钮即可构建、连接和刷写程序。

    另外、请参阅 CCS 用户指南。  https://software-dl.ti.com/ccs/esd/documents/users_guide/ccs_getting-started.html

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

    我让它运行起来。 非常感谢您的帮助。