Hi,
I've been trying to set up UART communication with external device using uart3 instance and have so far failed.
The scenario requires sending 5 bytes to the device, receiving 1 byte confirmation, then another 5 byte request and receiving indeterminate amount of data (though about 75 bytes).
So I set up my overlay to enable uart3:
then, in prj.conf:
When I run the code (using asynchronous API), after 1st req-ack I get proper UART operation as per observed events:
Then moving to next cycle of req-data i get following events (counted as increment of previous values):
Given that UART settings are correct (8e1@2400, no line control), and I was able to verify with oscilloscope that data is sent correctly from outside device, I think that something is missing either in my conf or overlay though I fail to see what could that be. Additionally, when setting CONFIG_UART_USE_RUNTIME_CONFIGURE=n and removing uart_configure() call from code no transmission occurs as far as I can tell, which as I understand should not be the case as overlay provides necessary configuration making uart_configure() redundant.
UART0 is used as logger backend. Tuning timeouts doesn't help, buffers are sized 256 so no overflow is possible.
Any help is appreciated.