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

[Attiny13] Attiny13 - Nieprawidłowe działanie diod po wciśnięciu przycisku

Alexkun 24 Wrz 2013 17:44 1224 1
REKLAMA
  • #1 12772902
    Alexkun
    Poziom 9  
    Witam, napisałem program który ma za zadanie po wciśnięciu przycisku zapalić diodę aż do puszczenia przycisku. Gdy przycisk zostanie puszczony ma na 5s zapalić drugą diodę i następnie ją zgasić. Jeśli w czasie gdy dioda2 się jeszcze świeci zostanie wciśnięty przycisk ma zostać zgaszona dioda2 i zapalona dioda1.
    Teoretycznie wszystko napisałem jednak w czasie działania pojawia się pewien błąd.
    Czasami gdy puszczam przycisk, zamiast dioda1 zostać zgaszoną i dioda2 zapaloną to dioda2 tylko mignie i nadal pali się dioda1. Czasem zdarza się też na odwrót w momencie wciskania dioda1 tylko mignie a dioda2 się zapalna na te 5s. Jeśli mógłbym prosić o spojrzenie kogoś bardziej doświadczonego na mój kod i pomoc w znalezieniu problemu.

    mój kod:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Podłączenie:
    [Attiny13] Attiny13 - Nieprawidłowe działanie diod po wciśnięciu przycisku
  • REKLAMA
  • #2 12773042
    BlueDraco
    Specjalista - Mikrokontrolery
    Problemy są dwa: błędna konstrukcja kodu i użycie przerwania od przycisku.

    Zacznij od zaprogramowania timera tak, żeby zgłaszał przerwania z częstotliwością np. 100 Hz (tryb CTC). Zrób pustą pętlę główną. W przerwaniu timera sprawdzaj programowo stan przycisków i reaguj. Przyda się konwencja automatu:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Resztę dopisz sam...
REKLAMA