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

[Atmega8][Bascom] Brak reakcji na wciśnięcie switcha

morswin89 29 Kwi 2009 11:37 1142 2
REKLAMA
  • #1 6469570
    morswin89
    Poziom 23  
    Witam

    Jest to moje pierwsze starcie z programowaniem uC i już wystąpił problem. Uruchomiłem już miganie diodami i wyświetliłem coś na wyświetlaczu alfanumerycznym ale nie mogę zmienić stanu linii po naciśnięciu switcha. Sprawdziłem multimetrem po wciśnięciu switach stan na tym pinie zmienia sie z wysokiego na niski natomiast brak reakcji na wyjściu podłączonym do diody, cały czas występuje tam stan wysoki.. Cały układ jest zmontowany na płytce testowej.

    $regfile = "m8def.dat"
    $crystal = 8000000
    
    Config Pinb.1 = Input
    Config Pinb.2 = Input
    Config Pind.6 = Output
    Config Pind.7 = Output
    
    Led1 Alias Portd.6
    Led2 Alias Portd.7
    S1 Alias Portb.2
    S2 Alias Portb.1
    
    Set Portb.1
    Set Portb.2
    
    Do
    If S1 = 0 Then
    Waitms 25
    If S1 = 0 Then
    Toggle Led1
    Bitwait S1 , Set
    End If
    End If
    
    If S2 = 0 Then
    Waitms 25
    If S2 = 0 Then
    Toggle Led2
    Bitwait S2 , Set
    End If
    End If
    Loop
    
    End
  • REKLAMA
  • Pomocny post
    #2 6469584
    mirekk36
    Poziom 42  
    a jak może być inaczej u ciebie skoro masz:

    S1 Alias Portb.2 
    S2 Alias Portb.1


    czyli sprawdzasz wyjścia a nie wejścia mikrokontrolera

    wejścia są w Bascomie oznaczane jako Pin

    czyli powinno być:

    S1 Alias Pinb.2 
    S2 Alias Pinb.1


    Dodano po 4 [minuty]:

    a tak w ogóle to pleceałbym ci jak najszybciej zapoznać się z funkcją Bascoma o nazwie "Debounce" oraz jak najszybciej zapomnieć o takiej obsłudze klawiszy jaką tu robisz ..... zobaczysz wtedy o ile będzie łatwiej i wygodniej robić różne rzeczy z klawiszami
REKLAMA