This problem is reported for a lot a platforms and seems to be a hardware issue, usually associated with FIFOs and buffers.

If you rule everything else out, then you can also consider some of the more unusual causes.  On some hardware, small differences in BAUD can result in the kind of data loss you describe.  Other hardware is more resilient.

Since you are using two different MCUs, there is a high probability that the BAUD rates are not exactly identical and you may be relying on marginally sized start and stop bits to keep in synchronization.  The half bit times typically used in the start and stop bits normally account for this.

Here is a long discussion of some hardware behaviors: https://www.eevblog.com/forum/beginners/uart-question/  Searching for "uart data loss due to small baud differences" finds several others.

On 5/9/2024 3:20 PM, Mark Stevens wrote:
I’m not writing to the UART - I am reading.

Regards,
Mark
-------------------------------------------
Mark Stevens
Blog: blog.mark-stevens.co.uk


On 9 May 2024, at 17:40, Mark Stevens <mark.stev...@wildernesslabs.co.INVALID> 
wrote:

This is a direct connection between the two chips on a PCB.

Regards,
Mark
—
Mark Stevens
mark.stev...@wildernesslabs.co






On 9 May 2024, at 17:38, Bill Rees <redskyo...@icloud.com.INVALID> wrote:


I've seen this problem before which revolved around flow control; essentially 
soft versus hard flow control (xmit off/ xmit on)

Are you using a null modem cable? If not that may give you the accuracy you're 
looking for, else hardware flow control is the only other possibility if it is 
flow control.

Bill

On 5/9/2024 9:24 AM, Tomek CEDRO wrote:
On Thu, May 9, 2024 at 6:15 PM Mark Stevens
<mark.stev...@wildernesslabs.co.invalid> wrote:
Yes, I am sure both side are configured correctly.
If I run the kernel code only then all works as expected.
If I run user space code alone all works as expected.
The problems happen when I transition from kernel use of the UART to user space 
use of the UART.
I have also connected a logic analyser to the system and all looks good.
Also, my current problem is NuttX reading data not sending it.  Sending may 
also be a problem but I have not got that far at the moment.
Which UART do you use? What happens when you use different UART? Are
you sure it does not interfere with console?

--
CeDeROM, SQ7MHZ, http://www.tomek.cedro.info

Reply via email to