Other Parts Discussed in Thread: SYSCONFIG
Hello
In a project we are using the CC2642 as a Bluetooth bridge in a system with an additional main application controller. Both controllers communicate via UART to exchange data between the Bluetooth devices and the main application controller.
The CC2642 application is based on the multirole example. When data is received from a BLE central device, it is packed into a UART frame with a header and trailer (2 Bytes CRC) and sent using UART2_write() function.
Recently we've updated from CC26x2 SDK 4.20.00.35 to 5.10.00.48. Since then we have the problem that sometimes the UART frame is not completely sent by the CC2642 (seen with logic analyzer). In these cases the last byte of the 16-bit CRC is missing in the frame trailer. Our application passes the data completely and successfully to UART2_write() - it doesn't return any error code.
I didn't have this problem with the SDK that we had used before. I have seen that many changes have been made to the UART2 driver due to the update. Do you know such an issue?
Notes on our UART setup:
- 2 Tasks, one for UartRx and the other for UartTx
- UART read and write mode is set to blocking
- baudRate is set to 115200
- Payload data to be sent is passed to the UartTx task via a mailbox
- UartTx task pends on the mailbox, takes the data, builds the UART frame by attaching a header and trailer to the payload and passes the frame to the UART2 driver
Kind regards
Martin