I'm sending cmd_clr_scr[] = { 27, 91, 50, 74, 27, 91, 72, 0 }; over UART to clear the screen and move the cursor to the upper left corner of the screen on my serial terminal (Putty).
I have two drivers for UART, one blocking and the other non-blocking. by blocking, I mean that the UART ISR doesn't return until all of the characters are transmitted; while in non blocking driver, UART ISR returns as soon as it sends the first byte, the next byte is sent on transmit-end interrupt and so on.
The problem is that: sending the cmd_clr_scr using the blocking driver does what it supposed to do, but using the non-blocking driver only moves the cursor to the upper left corner of the screen without clearing the text. I've double checked the drivers with stepping through them and they both work the same way, i.e. send the exact same characters in the exact same order.
Are there any caveats on using the clear command string?
Any thoughts?