But if we try to connect an external device for the UART communication we can only send UART data and nothing is received.
If we substitute the toradex board with an Raspberry Pi and run the exact same program for the UART communication we can send UART data and receive.
Any ideas?
Is it possible to use only the RX/Tx lines of the UART1 of the Yavia carrier board?
Or is there a configuration to only use 2 lines for the UART ?
Do you mean using UART1 from TorizonOS (i.e., Cortex-A processor)?
If this is the case, I don’t see any problems.
I did tests in the past connecting my PC to the Yavia with iMX8M-Plus running TorizonOS and everything works.
But there is an important point. I think you have already noticed it looking the Yavia schematics, but just in case…
UART1 lines are not connected to the USB A or C connectors of the Yavia, but they’re available on the expansion connectors
And they’re native 1V8 TTL lines.
If you want to connect UART1 to another device you should take care of the voltage levels.
As an example, if you want to connect it to the RS232 of your PC you need a device similar to this one
We already use an level shifter from 1.8V to 3.3V
So my main question is why are there 4 Lines for the UART1 and do I have to use all 4 ? If we just use the default TorizonCore 6.4.0, is the default mode RS485 or can I just use the RX / TX lines like we do with an raspbery pi?
Currently, I think it is related to Qt! We have to use QtSerialPort to read and write.
We are using QCoreApplication (which I think triggers the global events for the QtSerialPort).
Our Docker container has the following libs added :
qt6-base-dev:arm64
libqt6serialport6-dev:arm64
Would it be possible to let us know, what the device, to which you have connected the Yavia and Verdin, looks like? We need to know what the exact architecture of the second device is, in order to determine what signals are necessary for communication.