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:UART读取有时不完整

Guru**** 2595770 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1087106/cc1312r-uart-read-is-sometimes-not-complete

部件号:CC1312R

您好,

我有一个CC1312板,它通过UART与BeagleBone通信。 BeagleBone可以随时发送长度可变(7B - 81B)的消息。 它工作正常,但有时CC1312不能接收整条消息(大多数情况下,当长度为最大值-81B时)。 在BeagleBone中,运行标准Linux发行版,消息是通过标准函数写入发送的,我认为问题不在BeagleBone方面。 我在CC1312中的设置:

Both (Rx,TX)循环缓冲器设置为164B,TX fio treshold 1/8 Rx fio treshold 4/8

UART2_Params参数;
//初始化UART2参数
UART2_PARAM_INIT (&PARAMS);
Params.baudrate = 11.52万;
Params.readMode = UART2_Mode_callback;
Params.writeMode = UART2_Mode_blocking;
Params.readCallback = readCallbackUart;

UART2_READ (uartHandle,&uartBuffer,sizeof(uartBuffer);// sizeof uartBuffer是可能的最大长度- 81B

 我还尝试了函数UART2_rxEnable(uartHandle)和UART2_rxDisable(uartHandle),但未解决问题。

能帮我解决问题吗?

提前感谢您的参与。