https://www.tesmart.com/blogs/news/understanding-rs232-the-basics-of-serial-communication