logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[Atmega32] [Atmega32][AVR GCC] Program nie reaguje na wciśnięcia przycisków PA4-PA6

arturskuter2 08 Wrz 2012 11:01 1098 3
REKLAMA
  • #1 11290150
    arturskuter2
    Poziom 11  
    Witam jestem początkujący i napisałem taki program:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Który w zależności od tego który przycisk jest wciśnięty ma podawać napięcie na poszczególne porty D.

    Jeśli PA6=GND to PD4^,PD0^ i PD2^
    Jeśli PA6 i PA4=GND to PD3^,PD4^ i PD2^
    Jeśli PA4=GND to PD2^,PD3^ i PD1^
    Jeśli PA5 i PA4=GND to PD1^,PD3^ i PD5^
    Jeśli PA5=GND to PD0^,PD1^ i PD5^
    Jeśli PA5 i PA6=GND to PD0^,PD5^i PD4^

    ^-ustawienie stanu wysokiego na tym wyjściu.
    Tutaj zapis dwójkowy:

    Jeśli PinA=0110000=48 to PortD=010101=21
    Jeśli PinA=0100000=32 to PortD=011100=28
    Jeśli PinA=1100000=96 to PortD=001110=14
    Jeśli PinA=1000000=64 to PortD=101010=42
    Jeśli PinA=1010000=80 to PortD=100011=35
    Jeśli PinA=0010000=16 to PortD=110001=49

    Używam programatora avr Jtag Ice, wszystko się wgrywa bez żadnych błędów ale program mimo to nie działa :|

    Proszę zapoznać się z poniższym linkiem i dostosować posty do zasad w nim zawartych.
    https://www.elektroda.pl/rtvforum/topic349089.html
    [zumek]
  • REKLAMA
  • #2 11290237
    mickpr
    Poziom 39  
    1. Ujmij kod w syntax'y
    2. Dlaczego stosujesz cyferki zamiast np. zapisu bitowego, wiesz jak to się fatalnie czyta?
    3. Wszystko uzależniasz od PINA, napisałeś co jeśli określony bit jest włączony, a jeśli nie jest włączony to ma nie wracać do poprzedniego stanu?
    4. Co z debuncing-iem?
    5. Czy jesteś pewny, że po zaprogramowaniu Atmega "startuje"? Co się dzieje z pinem Reset?
    Tyle tytułem wstępu :)
  • REKLAMA
  • #3 11290304
    arturskuter2
    Poziom 11  
    1: już ująłem
    2: bo nie umiem inaczej
    3: nie, ma się zmieniać dopiero wtedy jak zostanie naciśnięty inny przycisk
    4: a co to jest?
    5: tak startuje ;)
REKLAMA