From 6871b2ebee994b32d3b09c6bdaaa1197dbe91c34 Mon Sep 17 00:00:00 2001 From: jakegoodwin Date: Sat, 14 Jan 2023 11:19:21 -0800 Subject: [PATCH] Updated README with roadmap of library --- README.md | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 40 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1124644..4b90a09 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,52 @@ # AVR_ATMEGA_USART - +--- ## Description: -This is a asynchronous serial program for the ATMEGA seris of mcu. The sotfware +This is a asynchronous serial program for the ATMEGA seiries of mcu. The sotfware is tested and working. +Over time, I'm planning to add support for multiple AVR MCUs, however that +may end up requiring more memory, so extensive of use of define macros will +likely end up being the end result. + +## Features: + +- Multiple Baud Rates: 300, 600, 1200, 2400, 9600 ... +- Asynchronous Receive and Transmit. +- Optional Parity checking. +- 7-8 data bits. +- Hardware abstraction API +- No Interrupt service routines required. +- BSD-3 Licensing, aka you can use this for whatevery you want pretty much. + + + +## Instructions + + +### Example 1 + +```C +#include "avr_usart.h" + +void send_bt_cmd(char* cmd) { + init_usart(); + unsigned char data[] = "AT+WAKE\0"; + uint8_t result = usart_send_str(data); + + if(result) { + raise_error(); + } +} + +``` + + ## ISSUES: It's required to set the fuses in the chip for 8Mhz, otherwise a baud rate of 9600 will result in errors at a 7% rate. +Another is that I need to design a standard naming scheme.