CC1312R: The CC1312 cannot properly receive UART data.

Part Number: CC1312R

Tool/software:

Hi,

My UART data format is as follows:

PREAMBLE, CMD, ID, LENGTH, DATA1, DATA2,........DATA N, CRC

The problem is:

When the data length exceeds a certain value, I can no longer successfully receive the remaining bytes. The data starts repeating from the PREAMBLE. Could you please tell me what might be causing this issue?

The example is showing below

real data : .... 0x53 0x20 0x53 0x54 0x41 0x52 0x54 0x0D 0x0A 0x7A

data in the UART2CC26X2.c : .... 0x53 0x20 0x53 0xAA(preamble) 0x09(cmd) 0x31(id) 0x39(length) 0x5B(data1) 0x30(data2) 0x30(data3)

SDK : simplelink_cc13xx_cc26xx_sdk_8_30_01_01

  • Hi Kimi,

    Are you sending this as a single UART transaction (with one UART_write() call)?

    Are you using Blocking mode, Callback mode or Nonblocking mode?

    If using callback mode, is there a chance that someone else is writing to your buffer?

    Cheers,

    Marie H

  • Hi Marie,

    I am using callback mode. My application communicates with an external MCU via UART and needs to send an ACK after receiving data. At that point, I don’t think anyone else should be writing to my buffer Could it possibly be caused by other hardware interrupts (for example, RF)?

  • Hi Kimi,

    I haven't heard about it and I can't find any errata that matches the description.

    I'm not sure how much we test the UART with large buffers (beyond 256 B).

    Could you send me your example code so I can reproduce the issue here?

    Cheers,

    Marie H

  • Hi Marie,

    I asked our partner to adjust their UART transmission mechanism, and that solved the problem. Thank you for your help