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

Atmega8 - Zależność jednego pinu od sąsiednich

finger6 13 Maj 2013 22:06 1152 3
  • #1 13 Maj 2013 22:06
    finger6
    Poziom 11  

    Witam.
    Napotkałem na pewien problem podczas programowania swojego układu. Otóż w momencie kiedy w pętli while mam tylko:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    układ działa prawidłowo, tzn co sekundę zmienia stan PD2 (słychać cykanie przekaźnika). Natomiast kiedy dopiszę linijkę PORTD&=~1<<PD5;, tzn kod pętli while wygląda tak :
    Kod: c
    Zaloguj się, aby zobaczyć kod

    Przekaźnik już nie cyka. Nie chodzi tu o zawieszanie się procesora, gdyż jak dołożę linijkę odpowiedzialną za wysyłanie jakichś danch przez UART, to dane są cyklicznie wysyłane. Prawdę mówiąc skończyły mi się pomysły... Początkowo przekaźnik był podłączony do portu C (i tak tez jest na schemacie, dopiero później przelutowałem go do PD2), i układ działał tak samo (tzn ustawienie stanu niskiego na sąsiadującym pinie powodował że przekaźnik nie cykał). [/code]

    Oto cały program
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Bardzo proszę o pomoc, gdyż skończyły mi się już pomysły. Pozdrawiam.

    0 3
  • #2 13 Maj 2013 22:23
    excray
    Poziom 39  

    Zamień
    #define LED_SYG1 1<<PD5
    na
    #define LED_SYG1 (1<<PD5)
    i tak we wszystkich pozostałych których zamierzasz używać w kodzie z ~

    0
  • #4 18 Maj 2013 18:52
    finger6
    Poziom 11  

    Dziękuje za odpowiedzi. Faktycznie, brak nawiasu okazał się być przyczyną problemu.

    0