This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

UART hardware flow control problems

As it is stated in documentation, RTS is active low. But a peripheral device we use expects it to be active high. Can this be changed in software somehow or it requires a hardware solution?

  • Hi,

    You can control the flow control lines (RTS and CTS) fully in software. For instance you can based on the logic levels on the pins start and stop the UART to receive or transmit serial data. You should disable the Hardware Flow control bit when configuring the UART peripheral, and handle the flow control pins depending on your application requirements. I don't see any specific issue with this approach, typically I expect you to have better control of timing and power consumption this way, but you will need to write some more code (e.g. wakeup on pin for instance) to start and stop the UART.

    Best regards,
    Kenneth

Related