Kalkulator AVR na Atmedze8 – komunikacja przez UART

Kalkulator AVR, który będzie się komunikował z komputerem za pomocą UART.

Schemat naszego kalkulatora, który oparłem na leciwej już Atmedze 8, którą znalazłem w swoim warsztacie:

Jak widać, schemat jest bardzo prosty, po prostu podłączamy zasilanie do naszego mikrokontrolera, oraz nóżkę RXD do TXD w naszym konwerterze RS232 <-> USB, oraz TXD do RXD w konwerterze RS232 <-> USB i to wszystko :).

Kod źródłowy:

https://github.com/liske310/AVR_UART_Calculator

Dane wejściowe muszą wyglądać w następujący sposób:
2[spacja]+[spacja]2
Wtedy mikrokontroler zwróci nam poprawny wynik: 4

Opis kodu źródłowego:

Kod źródłowy korzysta z bardzo popularnej w sieci biblioteki UART od Peter Fleury i cały czas oczekuje, aż będą dane wejściowe (funkcja get_uart_message() ). Następnie jak dane zostaną poprawnie odebrane, przechodzi do funkcji parse_data(char *data), która parsuje nasze dane, które otrzymał mikrokontroler, dzieląc łańcuch znaków na 3 zmienne: a, b, znak, zmienna a to 1-sza cyfra, b to 2-ga cyfra, a znak to znak działania (obsługuje tylko dodawanie, odejmowanie, mnożenie, dzielenie), następnie w zależności od użytego znaku jest wykonywane działanie i jest wysyłany wynik przez UART .