Hej.
Testuję sobie właśnie komunikację uart wraz z modułami rfm12b. Mam jakiś babola w komunikacji uart
Może ktoś akurat znajdzie jakiś błąd który popełniam i którego nie jestem w stanie znaleźć.
Komunikuję atmege 32 z atmega 16. Są to atmegi w wersji "uniwersalnej" 2.7-5.5V.
Zasilam je z około 4,5V. Łączę RXD-TXD.
Dane odbieram atmega 32 z rfm12, jesli zostało odebrane "aaa" to zapalam sobie diodę i wysylam string na uart.
I tu nie ma problemu - dioda się zapala, dane (chyba) również zostają wysłane.
Druga atmega (16) odbiera te dane (a przynajmniej powinna

) i jeśli cokolwiek zostanie odebrane to też sobie zapala diodę.
Poniżej kod dla nadajnika i odbiornika:
Nadajnik (atmega32):
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Odbiornik:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Inicjalizacja dla obu atmeg wygląda tak samo. Piny txd oraz rxd występują w tych samych miejscach (PD1 i PD0). Obie atmegi taktowane z 8MHz - chociaż to też nie powinno miec wpływu, bo jakiekolwiek dane powinny być odbierane - nawet krzaki zapaliłyby diodę...
Przykro mi, bo nie mam w tej chwili dostępu do oscyloskopu

Tak zawsze mógłbym więcej powiedzieć na temat tego, co się dzieje na liniach..