Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[Atmega32] - [C AVR] RS232, brak ciągłości w transmisji

17 Lis 2012 11:21 912 2
  • Poziom 12  
    Witam

    Zestawiłem następujący układ: Dwie Atmegi32, wyjścia portów A,B,C podpięte do diodek. Atmega jest połączona poprzez MAX232 z porem COM komputera. Kwarc 16MHz, zmierzone napięcia są idealne (5V), całość na płytce stykowej.

    Problem jest następujący: Podczas wysyłania kolejnych 16-bajtowych ramek danych przez komputer, po jakimś czasie (czasem po jednej sekundzie czasem po 30 sekundach) rozjeżdża się ramka danych. Dodam, że taki sam problem miałem wcześniej z inną atmegą32 kiedy komunikacja odbywała się ze sterownikiem PLC bez MAXa.

    Podłączyłem u kolegi wyjście z maxa (w kierunku RXa mikrokontrolera) do oscyloskopu. Gdy przewód od maxa do procka jest odłączony widzimy ładny prawidłowy przebieg. Jednak gdy podłącze przewód chociażby do jednego z procesorów widzę, że podczas wysyłania danych linia prawie wogóle nie jest ściągana do masy (napięcie opada najwyżej o kilka %). Całość zachowuje się tak, jakby był włączony jakiś mocny pull-up.

    W pierwszej kolejności myślałem, że źle ustawiony jest port D, jednak to nie prawda. Poniżej wklejam kod źródłowy:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Bardzo proszę o pomoc, z problemem zmagam się już od miesiąca.
  • Moderator Mikrokontrolery Projektowanie
    chemik143 napisał:
    Podłączyłem u kolegi wyjście z maxa (w kierunku RXa mikrokontrolera) do oscyloskopu. Gdy przewód od maxa do procka jest odłączony widzimy ładny prawidłowy przebieg. Jednak gdy podłącze przewód chociażby do jednego z procesorów widzę, że podczas wysyłania danych linia prawie wogóle nie jest ściągana do masy (napięcie opada najwyżej o kilka %). Całość zachowuje się tak, jakby był włączony jakiś mocny pull-up.

    Programu nie analizowałem - pokaż schemat.
  • Poziom 12  
    Problem rozwiązany. Przepelnienie stosu.

    Trochę uprościłem strukturę programu i hula aż miło.

    Zamykam.
    Dar.El