AnsweredAssumed Answered

STM32F4xx "Idle Line", "Idle Character" detection

Question asked by helton.gregory.002 on Jul 20, 2015
There seems to be an inconsistent usage of the terms "Idle Line", and "Idle Character" in the STM32F4 reference manual.

In my view, I could consider a transmit or receive line that is idle (without a start bit) for a time longer than a frame time to be an "Idle Line". Of course, the line(s) can be idle for longer than frame as well.  The STM32F4 RM doesn't exactly say what an "Idle Line" is. Is it the same as an "Idle Character" which ST describes this way.

An Idle character is interpreted as an entire frame of “1”s followed by the start bit of the
next frame which contains data (The number of “1” ‘s will include the number of stop bits).


This essentially means that an Idle detect interrupt (using their description), doesn't occur until the idle line is no longer idle. That is, a new frame has already begun with a start bit.

Of course, this feature is worse than useless if you want to use an Idle line detection as an end of message indicator (like ModBus, and probably many other protocols).

The STM32F3 series USART has a RTO (Receiver Time Out) field which can be used to specify the number of UART baud rate clocks of an idle line condition to generate an interrupt.

This feature seems to have been left out of the STM32F4 series USARTs. Is it still there in some form ?  Can it be duplicated somehow ?  or are we stuck with the "Idle Character" thing ?

Outcomes