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.

[参考译文] CC2538:如何在 CC2538中使用 UART?

Guru**** 2538930 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/564995/cc2538-how-to-use-uart-in-cc2538

器件型号:CC2538

我想通过 UART 向主机发送数据。

在 UART 工具中、我应该配置什么是波特率?

2.我可以使用哪个端口? HAL_UART_PORT_0或 HAL_UART_PORT_1?

主机显示一些来自 UART 的不可读代码、如下所示? 为什么?

H€ 样片 Switch簋H€IEEE:佝H€00124B0005AF8556〓H€TexasInstruments毗A€漫   H€Assoc Cnf琬H€Success岨H€EndDevice:F403埝   H€Parent:0H€Zed 现已上市。濥H€Zed:C000 25 F403件   H€SW5:Help

4.当我发出 HalUARTWrite 时,除了我的信息之外,我还得到了很多信息。 为什么?

5.除了我的资料外,我不想获得其他资料。 如何做到这一点?

谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设您在 SampleSwitch 中使用 ZTOOL_P1设置、因此波特率为38400
    HAL_UART_PORT_0
    3.这些是 HalLcdWriteString 的输出,您可以通过删除 LCD_SUPPORTED 来禁用它们
    4和5。 因为它在 SampleSwitch 中默认启用 MT 命令。 您可以通过删除所有 MT_XXX 相关定义来禁用它。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果我禁用所有 MT_XXX、我现在无法构建项目。
    ERROR[Li005]:没有"MT_SysCommandProcessing"的定义

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

    您可以添加以下红线来修复它。

    #if defined (MT_SYS_FUNC)
     mt_SysCommandProcessing( aProcessCmd );
    其他
     SystemResetSoft();
    #endif

    您需要在 HalLcdWriteString()中注释“debug_str((uint8*)str );"以使代码成功构建。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢!
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    不用客气。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好

    请澄清我的疑问

    我可以为 UART 使用任何 IO 引脚、也可以仅为 PA0和 PA1使用

    我们的设计需要两个 UART 端口

    1个用于调试的 UART
    2个用于主机处理器通信的 UART
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以为 UART 使用任何 IO 引脚、您可以在 bsp.h 中修改以下引脚映射

    // UART 反向通道定义
    #define BSP_UART_base UART0_BASE
    #define BSP_UART_ENABLE_BM SYS_CTRL_Periph_UART0
    #define BSP_UART_BUS_BASE GPIO_A_base
    #define BSP_UART_RXD_base bsp_uart_BUS_BASE
    #define BSP_UART_RXD GPIO_PIN_0 //!< PA0
    #define BSP_UART_TXD_base bsp_uart_BUS_BASE
    #define BSP_UART_TXD GPIO_PIN_1 //!< PA1
    #define BSP_UART_CTS_base GPIO_B_BASE
    #define BSP_UART_CTS GPIO_PIN_0 //!< PB0
    #define BSP_UART_RTS_BASE GPIO_D_base
    #define BSP_UART_RTS GPIO_PIN_3 //!< PD3
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、谢谢

    对于主机处理器和 CC2538通信、是否必须提供 RTS 和 CTS?

    两者都可以在没有 RTS 和 CTS 的情况下进行通信吗?

    用于主机通信的 UART0 - 将数据传递给主机仅是应用程序  

    对 CC2538上未使用的引脚有何影响?

    在我们的设计中、有10个未使用的引脚(GPIO)

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1. RTS 和 CTS 不是强制的,您只需在初始化 UART 时禁用流控制即可。
    通常建议将未使用的 GPIO 引脚设置为带有上拉电阻的输入。 在 CC2538上、这是 GPIO 上电后的默认状态。 您可以参考 e2e.ti.com/.../369284.aspx 上的讨论
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用板载端口0和 mT_UART 引脚

    2.为避免不必要的不可读数据,请在 UART_init()中注释 UART_open()

    3.并检查流控是否使用 CTS 和 RTS