Part Number: CC2640R2F
Tool/software: TI-RTOS
Hello TI E2E Community!,
In one of our new products we've got a single wire UART communication setup: It recieves data directly into the URX pin (of the CC2640R2F) and transmits data by pulling the communication line low by a transistor which is controlled by the UTX pin (simplified). In this setup, a high signal at the UTX pin corresponds to a low signal transmitted, so the communication is inverted.
Our problem is, that if we enable the UART Interface, the UTX constantly outputs a high signal, which in our setup pulls the communication line constanly low.
A solution to our problem would be disabling the UART transmit while UART read is active. This could supposedly be done in the CTL Register (30h, CC13x0, CC26x0 SimpleLink™ Wireless MCU Technical Reference Manual, Page 1472). We looked at the TI-RTOS code and couldnt find any mentioning of the CTL Register.
In the CC26xx Driver Library mentioned here, we could easily change the registers and create a corresponding function, to disable/enable the UTX, but this library differs from the TI-RTOS one (since it's not designed to run with TI-RTOS natively).
Our question is: Did we overlook something in the TI-RTOS code, that would allow us to disable UTX (temporarily)? Or do we need to write our own function, that interacts with the CTL register? If so, do we need to change anything/pay attention to anything else in the TI-RTOS to be compatible with disabling the UTX?
And yes: We know a hardware solution would be easy/probably a better solution, but it is not a option in our current prototype.
Our source code for testing the UART communication is straight up the "examples/drivers/empty" project with UART echoing example shown in UART.h.
We are currently using TI-RTOS (simplelink_cc2640r2_sdk_1_40_00_45) and Code Composer Studio 8.
Best regards,
David