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

Attiny2313 [Bascom] - Nadawanie IR z dwóch przycisków

leonsocio 29 Paź 2012 12:27 1551 10
  • #1 11463800
    leonsocio
    Poziom 28  
    Witam. Chciałem sobie zrobić prosty układ który po wciśnięciu jednego przycisku będzie nadawał w podczerwieni komendę 1, po wciśnięciu drugiego - komenda 2. Z jednym przyciskiem udało mi się bezproblemowo, natomiast jest problem z obsługą dwóch przycisków, gdyż nie wiem jak dopisać drugą część programu. Całość wygląda tak:

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Podejrzewam, że trzeba będzie skorzystać z plecenia ELSE IF lub ENDIF,jednak nie wiem jak to zrobić. Dla kogoś ogarniętego w temacie to będzie chwilka czasu aby mi doradzić, proszę o pomoc.
  • #3 11463904
    leonsocio
    Poziom 28  
    Czyli np tak?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #5 11463941
    leonsocio
    Poziom 28  
    Ok, dzięki. I jeszcze jedno pytanie, z helpa bascoma wynika, że nie istnieje taka fraza jak 'else if', jest za to 'elseif' a podejrzewam, że dla kompilatora robi to różnicę, bo wykrywa błędy. Jak to jest w rzeczywistości?
    Attiny2313 [Bascom] - Nadawanie IR z dwóch przycisków
  • #6 11465411
    leonsocio
    Poziom 28  
    No ok, ale jak to się ma do przykładu z moim kodem?
  • #7 11465614
    leonsocio
    Poziom 28  
    Tak poprawiony kod działa jak należy:

    Kod: text
    Zaloguj się, aby zobaczyć kod

    Zauważ, że "Elseif Pind.5 = 0 Then" jest w jednej linii, gdyż po rozbiciu tego na
    elseif
    pind.5 = 0

    wyskakuja błędy.
  • Pomocny post
    #8 11465688
    xury
    Specjalista automatyka domowa
    No cóż. Nikt nie jest perfekcyjny. Nie pamiętam jak to się pisze, bo IDE sam poprawia skladnię. Akurat w przypadku Elseif tego nie zrobi, bo ta funkcja skada się z dwóch występujących. No ale dzięki temu była lekcja wyłapywania błędów w kodzie :)
  • #9 11465712
    leonsocio
    Poziom 28  
    Tak czy inaczej, dziękuje Panowie za pomoc, osiągnąłem cel, attiny2313 telewizor przełącza :)
  • #10 11529703
    zbyszek19940
    Poziom 10  
    Do którego wyjscia w uC podlacza sie te diode?
    Przeszukalem forum i help bascoma ale nie moge znalezc.
  • #11 11530936
    Jacek Rutkowski
    Poziom 28  
    Witam,
    słabo szukałeś, pierwszy wynik z google : "rc5send bascom"
    The resistor must be connected to the OC1A pin. In the example a 2313 micro was used. This micro has pin portB.3 connected to OC1A.

    Ps. Diodę można podłączyć pod port ale z rezystorem ograniczającym prąd do max 20mA co spowoduje słaby zasięg, wskazane jest zastosowanie tranzystora w/g helpa.
REKLAMA