UART Console inter-character timing

Hi all,

Is there a way to change the inter-character timing of the UART transmit pin from the console of my imx7 module? I have looked at this on the logic analyser and it seems to basically go straight from the stop bit of the last byte to the start bit of the next byte, is it possible to insert a small delay here?

The reason why I ask is because I have to read this UART signal with a soft UART routine and I occasionally miss characters when certain things happen in my code. Even 10us delay between characters would help me

Hi

AFAIK the i.MX 7 UART does not have any inter character delay setting.

You could set two stop bits. Note however that this seems to influence the i.MX 7 receiver side too, so you like have to also send two stop bits to the i.MX 7 or you might get framing errors.

Additionally you could set generating a parity bit but ignore it on your side. Here you would also need to change your sender to include a parity bit, either a correct one or configure the i.MX7 side to ignore parity errors.

Depending on your application reducing the baudrate with or without above measures might also help.

Apart from that I don’t have an easy solution. You like would need to change the driver. You could

  • not use DMA
  • disable the sending FIFO
  • insert whatever delay needed between sending characters
    I expect that however to generate huge delays between characters.

Max