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

Przerabianie programu. Z atmegi8 na attiny2313.

Dawid 95 03 Gru 2010 18:09 1220 8
  • #1 8821276
    Dawid 95
    Poziom 10  
    Witam!
    A więc tak jak w temacie chciałbym się dowiedzieć jak się nauczyć przerabiania programu na przykład przeznaczonego na procesor atmega8 , na attiny2313 ? Lub na odwrót. W języku basic w bascomie. . Na przykład taki program jak skonfigurowac pod atmegę 8 ? :
     $regfile = "attiny2313.dat"                                 'typ proca
    $crystal = 1000000                                          'taktowanie
    
    Config Portb = Input                                        'port b  jako wejścia
           Portb = &B00111111                                   
    Config Portd = Output                                       'pprt d jako wyjścia
           Portd = &B0000000                                    'wszędzie stan spoczynkowy-0
    
    Config Timer1 = Timer , Prescale = 64
    On Timer1 Podprogram
    
    Enable Interrupts
    Enable Timer1
    
    Timer1 = 49911                                              'wpisanie wartosci 49911 do timera
    
    
    Do
    Loop
    End
    
    
    Podprogram:
    Timer1 = Timer1 + 49911
    
    If Pinb.0 = 0 And Pinb.1 = 0 Then
    Wait 2
    Portd.0 = 1
    Waitms 100
    Portd.0 = 0
    End If
    
    
    If Pinb.0 = 1 And Pinb.1 = 0 Then
    Wait 50
    Portd.1 = 1
    Waitms 500
    Portd.1 = 0
    Waitms 500
    Portd.1 = 1
    Waitms 500
    Portd.1 = 0
    Wait 5
    End If
    
    If Pinb.0 = 0 And Pinb.1 = 1 Then
    Portd.1 = 1
    Else
    Portd.1 = 0
    End If
    
    Return


    Proszę pamiętać o używaniu znaczników code. - arnoldziq
  • #3 8822018
    arktik1
    Poziom 27  
    Potem wystarczy, że z konfigurujesz resztę portów i w zasadzie gotowe.
  • #4 8822148
    landy13
    Poziom 31  
    O ile nie będzie przeszkadzać to, że w przerwaniu znajduje się Wait2 nie licząc drobniejszych.
  • #5 8822194
    Dawid 95
    Poziom 10  
    Aha , dzięki wam . Mam do was jeszcze pytanko . Jeśli mam taki programik : Config PortB.4 = Output
    PortB.4 = 1

    I to wyjście na PB.4 oznacza , że co tam jest ? Plus czy minus ?
    A z tym stanem spoczynkowym to jak jest? Jak jest logiczna jedynka to jest obecność napięcia , tutaj jest tak samo ?
  • #6 8822222
    landy13
    Poziom 31  
    Dawid 95 napisał:

    I to wyjście na PB.4 oznacza , że co tam jest ? Plus czy minus ?
    Wyjście na PB.4 oznacza, że jest tam wyjście a nie wejście. Dopiero PORTB.4=1 oznacza że jest tam VCC. Poczytaj o rejestrach: DDRx, PORTx, PINx.
  • #7 8822360
    Dawid 95
    Poziom 10  
    A czy te dwa programy mogą pełnić tę samą funkcję ??
    Config Portd.4 = Input
    Portd.4 = 1


    Config Portd.4 = Output
    Portd.4 = 1

    A teraz inne pytanko ... Dlaczego w bascomie , biorąc Identify Chip nie identyfiukje mi procesora ? Wcześniej było okej , dopóki nie przełożyłem złącza IDC10 z płytki z atmegą 8 na attiny2313. A potem jak znów włozylem w atmege to bł error...
  • #8 8823700
    arktik1
    Poziom 27  
    Config Portd.4 = input-- oznacza że jest to wejście.
    Portd.4=1 --podciągnięte wewnętrznym rezystorem do +5v.

    Config portd.4 = Output-- oznacza że jest to wyjście.
    portd.4= 1 --w stanie spoczynkowym +5v.
    Jeśli na początku programu masz: $regfile = "attiny2313.dat", to ustawienie w BASCOMie nie działa.
  • #9 8823765
    piotrva
    VIP Zasłużony dla elektroda
    KOLEDZY!
    polecenie config ma składnię:
    
    Config Portx = Input/Output
    Config Pinx.y = Input/Output
    

    a więc powinno być:
    
    Config Pind.4 = Input/Output
    

    inaczej możecie przepalić procesor, bo wersja config, którą proponujecie działa jak chce i często nie konfiguruje pinu zgodnie z oczekiwaniami.
REKLAMA