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

[Bascom] Program źle działa na attiny 2313

culkq 06 Wrz 2010 18:06 1928 8
REKLAMA
  • #1 8482424
    culkq
    Poziom 11  
    Witam!
    Zrobiłem nadajnik Rc5 na attiny 2313. Po zaprogramowaniu i podłączeniu do obiegu układu scalonego pojawia się jeden błąd. Otóż, gdy dam zasilanie dioda nadawcza się cały czas pali i dopiero, gdy nacisnę switcha to zaczyna gasnąć. Poniżej podaję program:
    $regfile = "attiny2313.dat"
    
    Config Pinb.3 = Output
    Config Pind.0 = Input
    Config Pind.1 = Input
    Config Pind.2 = Input
    Config Pind.3 = Input
    
    $crystal = 4000000
                       
    Set Portd.0
    Set Portd.1
    Set Portd.2
    Set Portd.3
    
    Gora Alias Pind.0
    Dol Alias Pind.1
    Zegarek Alias Pind.2
    Wlaczwylacz Alias Pind.3
    
    Dim Togbit As Byte , Command As Byte , Address As Byte
    
    Do
    
    Debounce Gora , 0 , Rc5 , Sub
    Debounce Dol , 0 , Rc51 , Sub
    Debounce Zegarek , 0 , Rc52 , Sub
    Debounce Wlaczwylacz , 0 , Rc53 , Sub
    
    Loop
    End
    
    Rc5:
    
    Command = 10
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    
    Waitms 200
    Loop Until Gora = 1
    
    Return
    
    Rc51:
    
    Command = 11
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    
    Waitms 200
    Loop Until Dol = 1
    
    Return
    
    Rc52:
    
    Command = 12
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    Waitms 200
    Loop Until Zegarek = 1
    
    Return
    
    Rc53:
    
    Command = 13
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    Waitms 200
    Loop Until Wlaczwylacz = 1
    
    Return
  • REKLAMA
  • #2 8482586
    adi84_84
    Poziom 14  
    Nie sprawdzałem twojego kodu ale robiłem taki pilot na mega8:

    $regfile = "m8def.dat"
    $crystal = 8000000
    Config Pinb.1 = Output
    Config Pind.3 = Input
    Config Pind.4 = Input
    Config Pind.2 = Input
    Config Pind.1 = Input
    Config Pind.0 = Input
    Config Pinc.1 = Input
    Set Portd.3
    Set Portd.4
    Set Portd.2
    Set Portd.1
    Set Portd.0
    Set Portc.1
    S1 Alias Pind.3
    S2 Alias Pind.4
    S3 Alias Pind.2
    S4 Alias Pind.1
    S5 Alias Pind.0
    S6 Alias Pinc.1
    Dim Togbit As Byte , Command As Byte , Address As Byte
    
    Do
    Debounce S1 , 0 , Rc51 , Sub
    Debounce S2 , 0 , Rc52 , Sub
    Debounce S3 , 0 , Rc53 , Sub
    Debounce S4 , 0 , Rc54 , Sub
    Debounce S5 , 0 , Rc55 , Sub
    Debounce S6 , 0 , Rc56 , Sub
    Loop
    End
    
    Rc51:
    Command = 12
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S1 = 1
    Return
    
    Rc52:
    Command = 1
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S2 = 1
    Return
    
    Rc53:
    Command = 2
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S3 = 1
    Return
    
    Rc54:
    Command = 3
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S4 = 1
    Return
    
    Rc55:
    Command = 4
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S5 = 1
    Return
    
    Rc56:
    Command = 5
    Togbit = 0
    Address = 0
    Do
    Rc5send Togbit , Address , Command
    Waitms 100
    Loop Until S6 = 1
    Return


    Dodano po 15 [minuty]:

    Sprawdziłem twój kod na swojej Atmega8 i działa.

    $regfile = "m8def.dat"
    $crystal = 8000000        'Tutaj zmiana
    Config Pinb.3 = Output    '*********  Tu zmieniłem na Pinb.1 ale u ciebie jest OK **********
    Config Pind.0 = Input
    Config Pind.1 = Input
    Config Pind.2 = Input
    Config Pind.3 = Input
    
    Set Portd.0
    Set Portd.1
    Set Portd.2
    Set Portd.3
    
    Gora Alias Pind.0
    Dol Alias Pind.1
    Zegarek Alias Pind.2
    Wlaczwylacz Alias Pind.3
    
    Dim Togbit As Byte , Command As Byte , Address As Byte
    
    Do
    
    Debounce Gora , 0 , Rc5 , Sub
    Debounce Dol , 0 , Rc51 , Sub
    Debounce Zegarek , 0 , Rc52 , Sub
    Debounce Wlaczwylacz , 0 , Rc53 , Sub
    
    Loop
    End
    
    Rc5:
    
    Command = 12
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    
    Waitms 200
    Loop Until Gora = 1
    
    Return
    
    Rc51:
    
    Command = 11
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    
    Waitms 200
    Loop Until Dol = 1
    
    Return
    
    Rc52:
    
    Command = 12
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    Waitms 200
    Loop Until Zegarek = 1
    
    Return
    
    Rc53:
    
    Command = 13
    Togbit = 0
    Address = 0
    
    Do
    
    Rc5send Togbit , Address , Command
    Waitms 200
    Loop Until Wlaczwylacz = 1
    
    Return


    Sprawdź jeszcze raz podłączenie Diody IR i ustawienie FUSE BITY.
  • REKLAMA
  • #3 8482840
    culkq
    Poziom 11  
    Dzięki za sprawdzenie, ale niestety nie wiem jak ustawić fusebity, żeby działał poprawnie, tzn. działa dobrze tylko dlaczego ta dioda się pali cały czas i gaśnie dopiero przy naciśnięciu switcha? Dioda IR jest na pewno dobrze podłączona.
  • REKLAMA
  • #4 8482863
    adi84_84
    Poziom 14  
    Jakiego programatora i programu używasz?
  • #5 8482866
    culkq
    Poziom 11  
    stk 500 v2. Program to avrdude
  • REKLAMA
  • #7 8484086
    mirekk36
    Poziom 42  
    A ja ci proponuję zassać polski program do ustawiania fusebitków "MkAvrCalculator" Z twoim prockiem będzie działał w pełni za free i masz super mega wygodne i przejrzyste programowanie fusków na różne sposoby. Nawet zakładka z widokiem i opcjami, że nawet jako początkujący nie będziesz w stanie przez przypadek zablokować sobie procka. Polecam ;)
  • #8 8484406
    Quaki
    Poziom 20  
    Ja jako uzytkownik tez polecam "MkAvrCalculator" zakupilem sobie i bardzo sobie chwale :)
    Pozdrawiam
  • #9 8485223
    culkq
    Poziom 11  
    Dzięki za pomoc. Temat uważam za zamknięty.
REKLAMA