Lack of understanding UART Pattern post_idle time
Posted: Fri Jun 21, 2019 10:04 am
Hi everyone.
I have a confusing situation: I'm trying to set up UART Pattern interrupt but the observed result is different than I expect.
I configure UART to 921600 baud rate 8N1. From the documentation I read next:
In my case, post_idle should be equal to 1 byte:
And it works, but when I decide to decrease post_idle to ~800 I expect that UART will receive two separate events and it doesn't!
I got expected behavior only with post_idle = ~300.
So my question: What are the start and stop points for measuring post_idle interval?
I have a confusing situation: I'm trying to set up UART Pattern interrupt but the observed result is different than I expect.
I configure UART to 921600 baud rate 8N1. From the documentation I read next:
post_idle: idle time after the last pattern character, 24bit value, unit is APB (80Mhz) clock cycle. When the duration is less than this value, it will not take the previous data as the last at_cmd char
In my case, post_idle should be equal to 1 byte:
Code: Select all
post_idle = f_apb / (baud / bits_per_byte) * bytes_qty = 80 000 000 / (921 600 * 10) = 868
I got expected behavior only with post_idle = ~300.
So my question: What are the start and stop points for measuring post_idle interval?