Skocz do zawartości

[C] Dwie ATmegi, komunikacja przez UART


fish

Pomocna odpowiedź

Mam problem ze skomunikowaniem dwóch procków między sobą. Pierwszy to ATmega48P, służący jako dekoder RC5, drugi to ATmega128 - główny mikrokontroler robota. Odpowiednie TXD i RXD jest połączone, jako 'biblioteki' używam kodu z http://mikrokontroler.info/usart-w-mikrokontrolerach-avr/ , który jest prostu implementacją kodu z datasheeta. Poprzez UART wysyłam kod przycisku zdekodowany na pierwszym uC i wyświetlam go na LCD. Problem jest taki, że niezależnie od wysyłanego kodu, na LCD pojawia się ta sama wartość - 240. Jakieś sugestie, pomysły? 🙂

Link do komentarza
Share on other sites

Też kiedyś używałem tego kodu do obsługi USARTa. Może głupie pytanie ale jak podłączyłeś TXD i RXD? TXD jednego uC powinno być podłączone do RXD drugiego i analogicznie z drugim portem. Jeśli to jest ok to jakiego typu zmienna jest przesyłana przez USART?

Jak ja kiedyś próbowałem obsłużyć USARTa to miałem ciągle taki błąd, że na wyświetlaczu kod pokazywał mi się nie zawsze od początku. Tzn. wysyłałem ciąg znaków xyyyyyyz, a na wyświetlaczu nie dostawałem go w takiej postaci tylko np. jako yyyzxyyy i do końca nie dowiedziałem się dlaczego tak jest. Potem do wysyłanego kodu dodawałem * na końcu i zmieniłem wyświetlanie tak żeby ta * była zawsze na końcu i zadziałało.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.