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 UART1

Guru**** 2379430 points
Other Parts Discussed in Thread: Z-STACK, CC2538, CC3200, SMARTRF06EBK
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/676059/cc2538-cc2538-uart1

器件型号:CC2538
Thread 中讨论的其他部件:Z-stackCC3200SMARTRF06EBK

您好、先生、

如何在 Z-stack mesh 版本中初始化和使用 uart1。

我的应用要求我要将 cc2538协调器 UART (RX、TX)数据传输到 cc3200 UART (RX、TX)。

我该怎么做。

谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您运行 GenericApp 示例、我记得您可以使用 MT 命令通过 UART (RX、TX)与 cc2538协调器进行通信。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、我使用的是通用应用示例、并且能够使用 uart0 (USB 到串行)将数据从终端设备传输到协调器现在我想使用 uart1 (P412)从该端口获取数据。 我该怎么做

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    P412上的引脚连接到 UART0 TX/RX、因此您无法将它们用于 UART1。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    如果 P412连接到 UART0、那么我将使用 API haluartwite (HAL_UART_0、data、10);API 我无法看到我使用 USB 转 TTL 转换器的数据、为什么它不提供输出。  

    澄清一下、USB 转串行(P1)和 P412都使用 UART0?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、它们都使用 UART0。 要使用 P412、必须移除 XDS100v3仿真器旁路接头(P408)上的所有跳线。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢主席先生,

    在没有 smarttrfo6的情况下对 cc2538em 进行编程需要哪种 JTAG 调试器、这意味着使用 MSP430FET 调试器的 MSP430器件。

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

    您仍然可以使用板载 XDS100v3调试器、只需断开 P408的第二组跳线(从位置11到20)并使用单根跳线连接19到20 (VDD_SENSE)即可。 现在、您可以将 P412用于 UART0。 需要记住的是、P408和 P412都共享 UART0的数字引脚、因此您需要将 UART1映射到不同的数字 I/O 引脚才能使其正常工作。

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

    它工作正常、但我有新问题
    1) 1)我已从具有 smarttrf06板的 cc2538固件库上载 ADC_TEMPSENSOR 程序、 首先我使用 USB_UART 端口查看其工作的输出、使用外部 UART 端口(P412)查看其工作的输出、仅使用的 cc2538EM 不带 SmartRF06板、它还使用 USB 转 TTL 模块(RF1.7 (cc2538 EM)--- >TX( TTL 模块)、RF1.9 (cc2538 EM)--> RX (TTTL 模块) GND --> GND。

    2) 2)我使用的是 ZStack mesh 1.0版,具有 ADC 读数,因此,我已使用 smartRF06板将一个设备配置为终端设备,将一个设备配置为协调器我正在使用 USB _UART 和 P412接收 ADC 数据, 但是,当我将 cc2538EM (Coordinator)用作单独的终端设备时,我的终端设备能够加入到 N/W 中,我无法使用 UART 接收数据。 如何使用 UART 接收数据、请解决此问题。

    谢谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您在 Z-Stack MESH 1.0.0上运行应用程序时,您是否在 UART 引脚上看到任何输出(我建议您使用示波器检查 CC2538 TX 引脚上是否有任何信号)?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tx 引脚无输出
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何启用 UART?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    HalUARTInit();
    halUARTCfg_t uartConfig;
    uartConfig.configured =真;
    uartConfig.波特 率 = HAL_UART_BR_115200;
    uartConfig.FlowControl =错误;
    uartConfig.flowControlThreshold = 64;
    uartConfig.Rx.maxBufSize = 1024;
    uartConfig.TX.maxBufSize = 1024;
    uartConfig.idleTimeout = 10;
    uartConfig.intEnable =真;
    uartConfig.callBackFunc =空;

    HalUARTOpen (HAL_UART_PORT_0、uartConfig);


    HalUARTWrite (HAL_UART_PORT_0、MSGpkt->cmd.Data、60);
    HalUARTWrite (HAL_UART_PORT_0、"\r\n"、2);
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否在项目中定义 HAL_UART= true?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Feature_reset_macro
    ewarm
    ZTOOL_P1
    MT_TASK
    MT_SYS_FUNC
    CC2538_use_alternate_interrupt_map=1
    MT_ZDO_FUNC
    LCD_supported=调试
    HAL_UART=true
    HAL_ADC=true
    NV_INIT
    NV_RESTORE

    我的问题不是、我已经提到我使用 P412端口和 USB (P1)获取数据、而不是仅使用 cc2538EM 获取数据为什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否意味着同一应用可以通过 SmartRF06看到 UART 输出、但不能通过 CC2538EM 看到输出?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、先生、

    我仅使用 USB (P1)、P412和 CC2538EM 进行检查。 我不想使用 smarttrf06,这就是为什么我在不按开关的情况下更改代码以直接加入 n/w 中的终端设备的原因。

    请告诉我先生、我如何单独使用 cc2538获取数据。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能向我展示如何将 CC2538EM 连接到您的桌面吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您使用这种连接、则必须在 CC2538中启用 USB CDC 功能。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何启用、请告诉我先生
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您可以尝试在 Z-Stack Home 1.2.2a 中引用 ZNP 项目。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    但是、当我使用固件库中的 ADC 示例时、我可以在没有 smarttrfo6板的情况下从 UART 端口查看数据、但当我使用 ZStack 时、我无法读取数据。

    在固件库中,不使用 CDC 驱动程序。

    并澄清了 b/w ZNP 和 ZStack 的区别是什么(GENERICAPP 示例),它的用途是什么,我如何使用它,我认为我需要使用 ztool 进行配置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果我记得正确,固件库中的 ADC 示例将不会从 USB CDC 输出 UART。 ZNP 代表 Zigbee 网络处理器、需要额外的 MCU 才能工作。 GenericApp 基于 SOC 模式。 我在 Z-Stack Home 1.2.2a 中提到了 ZNP、因为我记得它支持您所需的连接 USB CDC。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Shiva、

    如果 YK 已解决您的问题,请将其答案标记为这样。 否则、您需要向我们提供您问题的更新。

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

    您好、先生、

    很抱歉耽误你的回答

    SIR 我将 cc2538EM 作为单独使用,ADC 读取程序已上传,并且我将 USB 连接到 TTL 模块(RF1.7 (cc2538 EM)--> TX (TTL 模块),RF1.9 (ccc2538 EM)--> RX (TTL 模块) GND --> GND),使用跳线接收来自 UART 的数据。 但是、当我使用 Z-stack Mesh 编程时、我无法使用 UART 收集数据、并且我已经向您展示了如何将数据写入 UART、并且我能够使用具有相同程序的 SmartRF06收集数据、但原因是这样 不像 cc2538EM 那么单独。

    请参考图片。

    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果它通过 UART (而不是 USB CDC)与 SMARTRF06EBK 一起工作、那么这是一个连接问题、我建议使用逻辑分析仪或示波器来查看 TX 线。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我建议您使用工作中的软件在不工作的硬件连接上运行、以查看它是否能够首先验证这是否是硬件连接问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SIR 是否可以从 cc2538协调器 UART 引脚获取数据,如果不能,原因是什么?
    是否有任何解决方案可以实现这一点、而无需使用 ZNP。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 Z-Stack 3.0.1的 SampleLight 协调器项目中使用一个简单的 HalUARTWrite 命令、在定义了 ZAPP_P2和 MT_TASK 的情况下确认了运行情况

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    先生、我想问的是没有 smarttrf06板、我使用的是 z-stack 1.0.0版本
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这与 CC2538EM 完全相同、您可以比较两个堆栈之间的 UART 实现。

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

    先生、请参阅此帖子、这将帮助我单独从 cc2538em 的 UART 获取输出

    e2e.ti.com/.../340861

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    USB CDC 从一开始就已经为您提供、您只需使用 Z-Tool 操作 ZNP 项目即可对其进行评估。 您一直在通过 XDS100v3查询反向通道 UART。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我将 Z-Stack Mesh 1.0.0 GenericApp 项目导入到 IAR EWARM 8.11、并且仅在预定义选项中添加了 HAL_UART=true。 之后、我能够使用具有 CC2538EM 的 SMARTRF06EBK (两种默认跳线设置)和以38400波特率连接到 XDS100v3 Class USB 串行 COM 端口的终端来确认反向通道 XDS100v3 UART 功能。 我能够使用逻辑分析仪确认信号来源于 RF1.7/PA0/UART1_RXD 和 RF1.9/PA1/UART1_TXD。

    现在、如果需要直接来自 CC3538EM 的 USB CDC 接口、则只需将 HAL_UART_USB 添加到预定义选项中、包括以下目录(C/C++ Compiler -> Preprocessor):
    $PROJ_DIR$\..\..\..\..\..\..\Components\usblib\cc2538\source\library
    $PROJ_DIR$\..\..\..\..\..\..\Components\usblib\cc2538\source\library\cc2538
    $PROJ_DIR$\..\..\..\..\..\..\Components\usblib\cc2538\source\class_CDC

    和以下库(链接器->库):
    $PROJ_DIR$\..\..\..\..\..\..\Components\usblib\cc2538\bin\IAR\usblib.lib
    $PROJ_DIR$\..\..\..\..\..\..\Components\usblib\cc2538\bin\IAR\usbcdc.lib

    然后直接连接到 CC2538EM micro USB、将电源选择跳线更改为 USB、并使用相同的38400波特调整 TI CC2538 USB CDC 串行 COM 端口的终端设置。

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

     您好、先生、

    我在编译器选项中添加了 HAL_UART=true、我遇到了错误

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当您设置 HAL_UART=true 时、我看到 HAL_UART =和 true 之间有空间。 请移除空间以重新构建。