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.

[参考译文] CC1312R:UART2回波阻断

Guru**** 2595770 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1060352/cc1312r-uart2-echo-blocking

器件型号:CC1312R
Thread 中讨论的其他器件:SysConfig

我已经自定义了 SDK 5.30随附的 UART2echo、通过更改引脚、程序将卡在 UART2_Params_init 中。

停止后、"Debug"窗口显示 driverlib.c:4、066 0x100038c4处的 UARTDisable (unsigned int)

我有什么想法如何解决这个问题?

谢谢

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

    可能不会在 UART2_Params_init 中停止、而是在 UART2_open 中停止。 调试器像正在优化代码一样跳转。

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

    现在优化已关闭、它卡在 UART2_open 中

    停止后、"Debug"窗口显示 driverlib.c:4、066 0x100038c4处的 UARTDisable (unsigned int)

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

    您好、Eduardo、

    请问您对该示例做了哪些修改? 您是否修改了除 SysConfig 中的引脚配置以外的任何内容?

    [引用 userid="506532" url="~/support/wireless-connectivity/sub-GHz 组/sub-1GHz/f/sub-1GHz 论坛/1060352/cc1312r-uart2-unsigned echo blocking"]停止后,调试窗口会显示 UART66[0x40ctrlib (1000ctradc.int]

    我不明白您在这里的意思。 您能澄清一下吗? 如果您只是刷写该示例? 您是否在终端窗口中看到预期输出? 如果您没有设置任何断点、为什么调试会停止?

    BR、
    安德烈斯

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

    我通过首先选择一个定制板来修改 UART 引脚。

    停止意味着按下调试器的暂停按钮。 我得到:

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

    您好、Eduardo、

    您是否希望调试器在特定位置停止? 我不是很理解这个问题。 我假设、根据您暂停执行的特定时刻、您将在不同的位置结束。 在本例中,您在执行 driverLib 调用时暂停。

    这就是我询问您是否在终端窗口中看到预期输出的原因。

    BR、
    安德烈斯

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

    问题是它卡在  UART2_open 中。 当我单步执行它时、它不会出现。

    我正在尝试找出它停留在那里的原因、这就是我暂停调试器的原因、我获得的唯一信息是:

    driverlib.c:4、066 0x100038c4处的 UARTDisable (unsigned int)

    我可以在中找到 driverlib.c

    C:\ti\simplelink_cc13xx_cc26xx_sdk_5_30_01_01\source\ti\devices\cc13x2_cc26x2\ROM

    在4066号线路上、我在 FR_BUSY 上得到了一个 while 环路、它会一直等待

    void UARTDisable (uint32_t ui32Base){

    //检查参数。
    assert (UARTBaseValid (ui32Base));

    //等待 TX 结束。
    while (HWREG (ui32Base + UART_O_FR)& UART_FR_BUSY) <-第4066行

    很可能是 SYSCFG 中的某些配置不正确。 有什么想法吗?  谢谢

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

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

    我更改为 UART0而不是 UART1、现在它不会卡住!

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

    但它似乎会进入深度睡眠状态

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

    您好、Eduardo、

    有几件事让我对你所描述的内容感到困惑。

    在您提交的 SysConfig 映像中:

      a.没有"使用硬件"选项。 这是一个没有实际意义的问题。
      B.引脚定义看起来很奇怪。 您使用的是定制板还是 LaunchPad?

    2.没有理由将该示例卡在 UART_Open()中。  

    我注意到、您还修改了示例中文件的名称。 那么、我需要再次问、您是否以任何其他方式(SysConfig 配置除外)修改了示例?

    如果您只需导入示例、保持原样、刷写器件、然后使用 Teraterm 或 Putty 发送和接收数据、则示例是否起作用?

    BR、
    安德烈斯...

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

    是的、当 您将电路板更改为定制电路板时、"使用硬件"选项似乎消失了! 我已经发布了一篇有关这方面的文章。

    唯一的方法是导入 CCS 工程、然后一直保留到我更改自定义电路板、然后它再次消失!

    我使用的是定制板。

    我只更改了 SYSCFG 中的引脚、以便其使用  

    RXD - DIO5
    TXD - DIO6

    我已从启动板禁用默认情况下出现的 LED

    现在、似乎通过在 UART_WRITE 中执行 instuctuion CPUwfi 进入睡眠状态、但这在 UART_open 以及 UART_read 中之前已经发生。

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

    当我暂停调试器时、当调试器卡在 UART_WRITE 中时、这就是我得到的结果

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

    您好、Eduardo、

    当您在 Launchpad 中尝试该示例时、您是否看到了相同的东西? 没有理由卡在 UART_write()中。

    BR、
    安德烈斯