-UARTCharsAvail dùng để check xem còn dữ liệu đang nhận hay ko
-NonBlocking với Blocking thì theo mình biết là NonBlocking thì khi đang gửi mà hết kí tự trong FIFO hay nhận mà đầy rồi thì nó sẽ báo lỗi ròi ngưng luôn, còn Blocking thì lúc đó sẽ chờ, sau khi có chỗ thì nó sẽ gửi hay nhận tiếp...