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

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ę »
×
×
  • 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.