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.

[参考译文] LAUNCHXL-CC1350-4:CC1350 UART FIFO

Guru**** 2517540 points
Other Parts Discussed in Thread: CC1350

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1029498/launchxl-cc1350-4-cc1350-uart-fifo

器件型号:LAUNCHXL-CC1350-4
主题中讨论的其他器件:CC1350

大家好、

我正在使用 UART CC1350芯片、并尝试使用 FIFO  TX 和 Rx。

我搜索了文档技术用户指南、并在 本文档的第19.1、19.2和19.4.5节找到了 UART FIFO。

但我无法在19.1和19.2中计算 FIFO  toltal 的字节数量? 32x8 和32x12是什么意思、因为我看不到 基本单元。

我在第19.4.5节中发现1/4 FIFO 为4字节、而 toltal FIFO 为16字节、对吗?

在 CCS Studio 中、我找不到任何指导使用 UART FIFO 或 UART FIFO 配置的示例。

请帮助我解决我的问题。

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

    您好、Huy Pham、

    首先、我想问以下问题。 您使用的是哪个版本的 Simplelink SDK?

    话虽如此、建议使用 UART 的方法是使用 TI 驱动程序的 UART 驱动程序。

    TI 驱动程序设计为线程安全、可在实时操作系统(RTOS)应用程序内无缝工作。 此外、所有的 TI 驱动程序实施都利用电源驱动程序 API 来确保始终保持低功耗。

    在这里、您可以找到有关如何使用 UART 的补充信息。 只需从表中选择 UART.h 即可。

    dev.ti.com/.../node

    BR、
    安德莱姆

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

    感谢 AndressM 的回复。

    我使用 TI 最新的 CC13xx SDK (v4.10)、使用 SDK 中的 UART API 函数创建另一个应用。

    但是、让我们重点谈谈我的问题、我想知道 CC1350如何使用 SDK 与硬件 UART FIFO 搭配使用。

    我在 TI E2E 上找到了一些有关使用 CC13xx FIFO 的主题、与我的问题相同、但没有人知道遵循技术数据表的 FIFO 存储器的确切数量。

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

    你好,Huy Pham。

    对于您的第一个问题:

    TRM 表示有两个 FIFO、一个用于 Tx、另一个用于 Rx。Rx FIFO 为32 x 12、这基本上意味着 FIFO 有32个插槽、每个插槽的大小为12位。 为什么是12位? 这是因为 Rx FIFO 在每个字符(时隙)有额外的4位以适应状态信息。

    另一方面、Tx FIFO 仅为32 x 8。 因为在这种情况下、它没有用于状态信息的额外位。

    尽管如此,第19.4.5节最后一段似乎不一致。 这似乎是 TRM 中的错误。

    对于第二个问题:

    SDK 中的示例依赖于 TI 驱动程序的使用。 在本例中为 UART 驱动程序。 您不会找到专门处理 FIFO 的任何示例,因为使用了默认值。

    您可以通过将示例项目导入 CCS (例如 UART echo)、然后打开 CC13*0_LAUNCHXL.c 文件来查看正在使用的默认值。 然后、您可以找到与 UART 相关的部分代码、在这里您将看到:

    const UARTCC26XX_HWAttrsV2 uartCC26XXHWAttrs[CC1310_LAUNCHXL_UARTCOUNT] = {
        {
            .baseAddr       = UART0_BASE,
            .powerMngrId    = PowerCC26XX_PERIPH_UART0,
            .intNum         = INT_UART0_COMB,
            .intPriority    = ~0,
            .swiPriority    = 0,
            .txPin          = CC1310_LAUNCHXL_UART_TX,
            .rxPin          = CC1310_LAUNCHXL_UART_RX,
            .ctsPin         = PIN_UNASSIGNED,
            .rtsPin         = PIN_UNASSIGNED,
            .ringBufPtr     = uartCC26XXRingBuffer[CC1310_LAUNCHXL_UART0],
            .ringBufSize    = sizeof(uartCC26XXRingBuffer[CC1310_LAUNCHXL_UART0]),
            .txIntFifoThr   = UARTCC26XX_FIFO_THRESHOLD_1_8,
            .rxIntFifoThr   = UARTCC26XX_FIFO_THRESHOLD_4_8,
            .errorFxn       = NULL
        }
    };

    您可以在此处看到 txIntFifoThr 和 rxIntFifoThr 属性、这些属性用于配置生成中断的 FIFO 级别。

    BR、
    安德莱姆

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

    谢谢安德莱姆