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:CC1312 无法正确接收 UART 数据。

Guru**** 2563960 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1572179/cc1312r-the-cc1312-cannot-properly-receive-uart-data

器件型号:CC1312R


工具/软件:

您好、

我的 UART 数据格式如下:

前导码、CMD、ID、LENGTH、DATA1、 数据 2、.... 数据 N、CRC

问题是:

当数据长度超过特定值时、我无法再成功接收剩余的字节。 数据从前导码开始重复。 您能告诉我是什么原因导致了这个问题吗?

示例如下所示

真实数据: 0x53 0x20 0x53 0x54 0x41 0x52 0x54 0x0D 0x0A 0x7A

UART2CC26X2.c 中的数据: … 0x53 0x20 0x53 0xAA(前导码)0x09 (cmd) 0x31 (id) 0x39 (length) 0x5B (data1) 0x30 (data2) 0x30 (data3)

SDK: simplelink_cc13xx_cc26xx_sdk_8_30_01_01

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

    尊敬的 Kimi:

    您是否将其作为单个 UART 事务(使用一个 uart_write () 调用)发送?

    您使用的是阻塞模式、回调模式还是非阻塞模式?

    如果使用回调模式、是否有其他人正在写入您的缓冲区?

    谢谢、

    Marie H

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

    尊敬的 Marie:

    我使用 回调模式。  我的应用通过 UART 与外部 MCU 通信、并且需要在接收到数据后发送 ACK。  此时、我认为不应该有其他人写入我的缓冲区 、这可能是由其他硬件中断(例如 RF)引起的吗?

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

    尊敬的 Kimi:

    我没有听说过、也找不到与描述相匹配的勘误表。

    我不确定使用大缓冲器(超过 256B)测试 UART 的量。

    您能否向我发送您的示例代码、以便我在此处重现问题?

    谢谢、

    Marie H

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

    尊敬的 Marie:

    我让我们的合作伙伴调整他们的 UART 传输机制、这解决了问题。 感谢你的帮助