Hello. I have recently started learning about Zephyr and nRF52 microcontrollers.
I use nRF Connect SDK and I run all experiments on nRF52DK nRF52832 development board from nordic.
I have a lot of trouble understanding how to use Async UART. I have been watching your video on Youtube:
https://www.youtube.com/watch?v=uAG5EVSWGKs&ab_channel=CircuitDojo
and you mentioned you used Async UART so I thought you be able to help.
I have posted my question regarding Async UART in Zephyr git, Zephyr discord as well as nordic devzone (nordic community forum) but havent been able to get help regarding this. It seems to be very obvious problem but there is no clear response about this.
My problem
The issue I have with Async UART is that I am not able to receive incoming serial messages properly. Most of the time, when I use UART, I want to be able to send various length messages to the device and respond back with whatever data I want. That appears to be an issue with Async UART. I believe what happens is when the RX buffer is filled up to declared RX buffer size and rolls over to the beggining and I am not able to track what was the full message because half of the message got stuck at the end of the rx buffer and the rest rolled over to the beggining.
To summarise above
I want to be able to use the Async UART in a simillar way as eho_bot sample project:
https://docs.zephyrproject.org/latest/samples/drivers/uart/echo_bot/README.html
Whatever is being sent to the device via serial terminal is printed.
You can look at my source code here:
https://github.com/krupis/nrf52_learning
When I try to send various messages via serial terminal, see what happens:
https://ibb.co/cCzRwRg
You can read through our discussion at the nordic devzone here:
https://devzone.nordicsemi.com/f/nordic-q-a/104641/nrf52dk-nrf52832-uart-asynchronous-receive
I would really appreciate if you took your time to look at this, perhaps you got any ideas. Thanks in advance!