Skocz do zawartości
Komentator

Kurs Arduino - #3 - UART (komunikacja z PC), zmienne

Pomocna odpowiedź

html_mig_img
Omawiane Arduino pozwala na wykorzystanie licznych interfejsów komunikacyjnych. Dzięki nim tworzone konstrukcje mogą porozumiewać się z innymi układami, czujnikami lub komputerem.W tej części kursu zajmiemy się UARTem. Jest to prosty i bardzo popularny interfejs szeregowy. Szczególnie podczas komunikacji z komputerem.

UWAGA, to tylko wstęp! Dalsza część artykułu dostępna jest na blogu.

Przeczytaj całość »

Poniżej znajdują się komentarze powiązane z tym wpisem.

Udostępnij ten post


Link to post
Share on other sites

Nareszcie! Super część, czekam na następne 🙂

Udostępnij ten post


Link to post
Share on other sites

A będzie coś o debugowaniu kodu? Chociaż kilka słów jak i czy w ogóle jest taka opcja.

Udostępnij ten post


Link to post
Share on other sites
Nareszcie! Super część, czekam na następne

Dobrze słyszeć - dzięki za informacje zwrotne 🙂 Mam nadzieje, że kolejna część (oraz ta pośrednia) będą dla Ciebie również ciekawe.

A będzie coś o debugowaniu kodu? Chociaż kilka słów jak i czy w ogóle jest taka opcja.

W tym kursie do prostego debugowania wykorzystywany będzie właśnie UART. Jeśli chciałbyś zacząć na poważnie debugować programy na Arduino, to trzeba by było zainteresować się najnowszym Arduino Zero. Wspiera ono EDBG, jednak jest drogie. Osobiście skupiłbym się jednak na UNO 🙂

Udostępnij ten post


Link to post
Share on other sites

Osobiście polecam zacząć od czystego C. Można to robić w środowisku Arduino podmieniając tylko plik nagłówkowy na nowszy (nowsze nazwy rejestrów itp.). Warto czasem samemu coś napisać zamiast korzystać tylko z bibliotek, dzięki temu łatwiej nam będzie poradzić sobie z jakimiś problemami

Udostępnij ten post


Link to post
Share on other sites
dzięki temu łatwiej nam będzie poradzić sobie z jakimiś problemami

To zależy. Biblioteki Arduino są bardzo przyjazne, co ważne znaleźć można mnóstwo przykładów i pomocnych artykułów. Ja upieram się, że jeśli ktoś decyduje się na korzystanie z płytek Arduino, to powinien dobrze poznać dedykowaną odmianę języka. Później można zajmować się programowaniem w czystym C. Na początku szkoda tracić czasu na rejestry, ustawienia itd. Grunt to załapać zainteresowanie tematem, a to można najszybciej osiągnąć z Arduino.

Po drugie, naprawdę ciężko znaleźć projekty, których w tej chwili nie da się wykonać bazując na Arduino, w każdym razie, raczej biblioteki nie są tutaj żadnym ograniczeniem 🙂

Udostępnij ten post


Link to post
Share on other sites

Zgadzam się, w większości przypadków pisanie czegoś samemu to wynajdowanie koła od nowa. Warto jednak zapoznać się jak dana metoda działa bo bywa tak, że wykorzystując jakąś obcą funkcjonalność programista jest zaskoczony wynikami i później spędza się długie godziny na dochodzeniu co poszło nie tak. Dlatego pytałem o debuger 🙂 a podstawy C zawsze ułatwiają życie.

Udostępnij ten post


Link to post
Share on other sites

MateuszW, ogólnie debuggery do AVR nie są chyba, aż tak popularne. Ja dopiero zacząłem korzystać z nich, gdy przeszedłem na STMy32. Tam działa to bardzo prosto i co ważne, nie potrzeba drogich programatorów z funkcją debuggera.

Udostępnij ten post


Link to post
Share on other sites

Jak chodzi o Arduino, to bazuje ono na C++. To inny jezyk niz C.

Udostępnij ten post


Link to post
Share on other sites

Naprawdę dobrze napisany kurs, taką miałem wczoraj radochę z oślą łączką i klonem uno, że postanowiłem założyć tutaj profil- czekam na kolejne wpisy o Arduino i kolejny o elektronice. Pozdrawiam hob_bit 🙂

Udostępnij ten post


Link to post
Share on other sites

Witam. Mam 3 pytania

1)Co zrobić, żeby mieć w szeregowym monitorze tym z arduino polskie znaki?

2)Jak wysokš prędkoć transmisji mogę ustawić ?

3)Czy ustawieni tej prędkoci ma jakikolwiek wpływ na szybkoć wgrywania się szkiców bo ja u siebie pomiędzy 9200 a 115200 nie zauważyłem specjalnej różnicy?

Z góry dzięki za odpowiedzi.

Udostępnij ten post


Link to post
Share on other sites
3)Czy ustawieni tej prędkoœci ma jakikolwiek wpływ na szybkoœć wgrywania się szkiców bo ja u siebie pomiędzy 9200 a 115200 nie zauważyłem specjalnej różnicy?

Z góry dzięki za odpowiedzi.

Deklarowana prędkość transmisji dotyczy tylko komunikacji Twojego programu ze światem zewnętrznym przez UART. Nie ma to nic wspólnego z prędkością wgrywania szkicu.

2)Jak wysokš prędkoœć transmisji mogę ustawić ?

To zależy od wielu czynników (w tym komputera, kabli itd.) musisz zrobić testy. Na pewno 115200 będzie bezpieczne. Więcej informacji na temat prędkości transmisji znajdziesz w artykule: port szeregowy i interfejs USART, czyli komunikacja mikrokontrolera z komputerem.

o zrobić, żeby mieć w szeregowym monitorze tym z arduino polskie znaki?

Transmisja UART (tak jak i LCD) obsługuje podstawowy zestaw znaków ASCII. Muszę przyznać, że nie zajmowałem się nigdy polskimi znakami w terminalu. Mogę rozeznać się w temacie 🙂

Udostępnij ten post


Link to post
Share on other sites

Mam pytanie. Czy jest możliwy bardziej "zaawansowany" sposób komunikacji komputera z arduino? Tzn. czy jest taka możliwość, abym napisał program w c++, którego interfejs mógłby zostać wykorzystany do przesyłania informacji do arduino?

Udostępnij ten post


Link to post
Share on other sites

htfhere, oczywiście, że tak. Wystarczy, że opanujesz wykorzystanie interfejsu szeregowego w danym języku programowania. W artykule "Port szeregowy i interfejs USART, czyli komunikacja mikrokontrolera z komputerem" znajdziesz informację, jak napisać własny terminal w C# - jest to dobrym punktem wyjściowym do dalszych działań.

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×