Kurs Arduino #6: UART komunikacja Arduino – PC

7. Wykorzystywanie UARTu jako prostego debuggera

Jeżeli nasz program jest złożony, i któryś z jego modułów nie działa, a chcielibyśmy zobaczyć co nie działa to z pomocą przychodzi nam UART. Nie będzie on co prawda działać jak debugger z prawdziwego zdarzenia, ale na pewno ułatwi nam proces debugowania programu. Jeżeli, któryś z naszych modułów nie działa to wystarczy wysłać komunikat po UART z naszą zmienną i wtedy możemy „zobaczyć” czy jej wartość pokrywa się z naszymi założeniami.

Oczywiście jest to prosty przykład, ale chodzi tu o zastosowanie „debuggera”.  Nasz program po wciśnięciu przycisku powinien zapalić diodę, ale tego nie czyni. Aby się dowiedzieć czemu to sprawdźmy czy nasz przycisk w ogóle reaguje na wciśnięcie. W tym celu na początku pętli loop wstawmy, funkcję która będzie wysłać stan przycisku.

Po otworzeniu monitora portu szeregowego widzimy, że nasz przycisk przyjmuje stan 1, a po wciśnięciu stan 0. Zatem musimy zmienić w funkcji warunkowej, stan który wyzwala przycisk na 0.

debug

Oczywiście jest wiele sposób na wykorzystanie UART, to jest jeden z wielu, który z pewnością się przyda.

8. Obsługa dwóch lub więcej interfejsów UART (tylko Ardunio MEGA 2560)

W tym rozdziale pokażę jak obsługiwać UART, jeżeli nasze Ardunio ma więcej niż jedno. Wszystko polega na tym, aby w do Serial dopisywać numery portów.

Przykład:

Napiszmy zatem prosty program, który przy pomocy UART0 będzie odbierać dane, a przy pomocy UART1 wysyłał do urządzenia docelowego.

kurs 6.8

 

Na początku musimy zdefiniować prędkości dla obu portów UART, ja u siebie zrobiłem tak, że port odbiorczy ma prędkość 9600 baud, a port, którym będziemy wysłać dane do urządzenia docelowego ma 250000 baud. Następnie definiujemy odbiór danych z portu 0 oraz przypisujemy temu portowi zmienną „dane”. Teraz te otrzymane dane wysyłamy portem 1. Jak widać jest to bardzo proste rozwiązanie, tylko trzeba pamiętać w których miejscach wstawiamy odpowiednie nr portów, żeby się potem nie pogubić ;) Efekt końcowy powinien być jak na filmie poniżej. Po lewej stronie jest monitor portu 0, do którego będziemy wysłać dane z komputera, a po prawej stronie jest okno terminala urządzenia odbiorczego podłączonego do portu 1.

Na tym skończymy dzisiejszą część odnośnie obsługi interfejsu UART. Mam nadzieję, że rozwiałem wszelkie wątpliwości. Jeżeli masz z czymś problem, bądź pytania to zadawaj je śmiało w komentarzach.

kody oraz schematy do tej części kursu:

Download-icon


Jeżeli chcesz być informowany na bieżąco o nowych częściach kursu to kliknij „Lubię to!” bądź subskrybuj naszą stronę, aby otrzymywać na adres e-mail nowości ze strony. Jeżeli masz jakieś pytania to śmiało zadawaj je na forum ; )