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.

AVR STUDIO 6 - Porty I/O sprawdzanie stanu i ustawianie

faziil 08 Cze 2013 20:23 1446 10
  • #1 08 Cze 2013 20:23
    faziil
    Poziom 15  

    Witam. Mam problem z obsługą portów w programie avr studio. Wcześniej korzystałem z notepad programmers i wszystko było w porządku.

    Nie wiem czy dobrze to robię. Prosty kod ze sprawdzaniem stanu pinu PD7:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 10
  • #3 08 Cze 2013 20:37
    faziil
    Poziom 15  

    Numerowanie jest od 0 czyli w szesnastkowym wychodzi ze jest to "FE".
    Atmega8. PD0-PD7.

    Znasz jakieś ciekawsze rozwiązanie do: ustawianie pojedynczych pinów jako w/wy i sprawdzania ich stanu?

    0
  • #5 08 Cze 2013 20:46
    faziil
    Poziom 15  

    Nie działa niestety.

    0
  • #6 08 Cze 2013 21:02
    excray
    Poziom 39  

    miszczo997 napisał:
    Piszesz, że sprawdzasz stan na PD7. 0111 1111 = 0xEF, a nie 0xFE.

    0b01111111 = 0x7F

    Wymień pętlę while(1) na
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #7 08 Cze 2013 21:10
    faziil
    Poziom 15  

    Nic nie pomogło. Coś jest nie tak z kodem.

    0
  • #8 08 Cze 2013 23:16
    excray
    Poziom 39  

    faziil napisał:
    Coś jest nie tak z kodem.

    Jakie błędy/warningi zwrócił kompilator?

    0
  • #9 08 Cze 2013 23:40
    piotrva
    Moderator na urlopie...

    A co jest nie tak?
    Bo w tym kodzie nie ma w ogóle eliminacji drgań styków, ani oczekiwana po wykonaniu akcji nawet.
    Dlatego możliwe że jedno wciśnięcie przycisku będzie powodowało wywołanie "losowej" funkcji.

    *losowej - z punktu organizmu tak wolnego jak człowiek.

    0
  • #10 09 Cze 2013 00:10
    excray
    Poziom 39  

    piotrva napisał:
    A co jest nie tak?
    Bo w tym kodzie nie ma w ogóle eliminacji drgań styków, ani oczekiwana po wykonaniu akcji nawet.
    Dlatego możliwe że jedno wciśnięcie przycisku będzie powodowało wywołanie "losowej" funkcji.

    *losowej - z punktu organizmu tak wolnego jak człowiek.

    A gdzie jest mowa o jakichś stykach? Nadinterpretacja? Mowa jest o sprawdzaniu stanu pinu.

    0
  • #11 09 Cze 2013 18:17
    dondu
    Moderator Mikrokontrolery Projektowanie

    faziil napisał:
    Schematu nie muszę przedstawiać. Nie ma nawet przycisków. Używam przewodu (zworki) żeby wymusić dany stan na pinie. Kompilator nie zwraca błędów.

    Czyli drgania styków (w tym wypadku przewodów), o których wspomniał piotrva występują, a Twój kod nie jest na nie przygotowany.
    Więc ponowię pytanie:

    piotrva napisał:
    A co jest nie tak?

    ... bo każesz nam się domyślać.

    A na koniec pewnie okaże się, że masz nieprawidłowo podłączony mikrokontroler i/lub LCD ... ale skoro schematu nie chcesz pokazać ... stój na pierwszym stopniu piekiełka: http://mikrokontrolery.blogspot.com/2011/04/pieklo-poczatkujacych.html

    Może więc chociaż zdjęciem nas zaszczycisz?

    0