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

Atmega32 BasCom "If Pa = 0 Then Call P1"

I.T.I 12 Lut 2010 16:43 1566 10
REKLAMA
  • #1 7683607
    I.T.I
    Poziom 16  
    Witam mam problem
    Napisałem program (tu podaje tylko kawałek który nie działa) lecz nie działa on w Atmedze ale w symulacji jest wszystko ok.

    Kolega z forum powiedział mi żebym wyłączył Jtag w fusach zrobiłem nic nie dało.

    Napisałem ten kawałek programu w C (tylko tyle na razie potrafię) działa poprawnie.

    Proszę was powiecie co może być nie tak.

     
    $regfile = "m32def.dat"
       $crystal = 8000000
    
    
     Config Portd = Input
     Config Porta = Output
    
           Porta = &B11111111
           Portd = &B11111111
    
     Pa Alias Portd.2
     Pb Alias Portd.3
     Pc Alias Portd.4
     Pd Alias Portd.5
    
     Dd1 Alias Porta.1
     Dd2 Alias Porta.3
     Dd3 Alias Porta.5
     Dd4 Alias Porta.7
    
    
      Declare Sub P1
      Declare Sub P2
      Declare Sub P3
      Declare Sub P4
    
    
     Do
    
      If Pa = 0 Then Call P1
      If Pb = 0 Then Call P2
      If Pc = 0 Then Call P3
      If Pd = 0 Then Call P4
     Loop
    
       Sub P1
       Reset Dd1
       Wait 2
       End Sub
    
    
    
     Sub P2
     Reset Dd2
     Wait 2
      End Sub
    
    
    
    
     Sub P3
     Reset Dd3
     Wait 2
     End Sub
    
    
    
     Sub P4
     Reset Dd4
     Wait 2
     End Sub  


    A jakie będzie ustawienie "fusów" dla zewnętrznego generatora kwarcowego 8MHz (standardowe połączenie z kondensatorami 22pF)?
  • REKLAMA
  • Pomocny post
    #3 7683702
    M. S.
    Poziom 34  
    Raczej:

    CONFIG PORTx = state
    
    CONFIG PINx.y = state


    gdzie state to INPUT lub OUTPUT

    Pa Alias Portd.2
     Pb Alias Portd.3
     Pc Alias Portd.4
     Pd Alias Portd.5


    popraw na

    Pa Alias Pind.2
     Pb Alias Pind.3
     Pc Alias Pind.4
     Pd Alias Pind.5 
  • REKLAMA
  • #4 7683813
    I.T.I
    Poziom 16  
    Dziękuje M.S

    Nie wiem dlaczego ale taka konfiguracja zawsze mi działała.

    Daje pomógł.

    Aha a jak bedzie z tymi fusami?

    Przypominam generator 8Mhz zasilanie 5V

    czy takie low 0xF8 będą dobre?
  • #5 7684013
    M. S.
    Poziom 34  
    Piszesz w Bascomie, to ustaw fusy w Bascomie. Wybierasz z listy dostępnych opcji klikasz na przycisk i fusy ustawione. NIGDY w ten sposób nie udało mi się zablokować proca.
  • #6 7684228
    I.T.I
    Poziom 16  
    no i zablokowałem :-/
  • #7 7689375
    M. S.
    Poziom 34  
    Jak zrobiłeś to programatorem Bascoma to respect :D . Spróbuj uC jeszcze podać taktowanie z zewnętrznego generatora to może wstanie. Mam nadzieję, że nie dezaktywowałeś programowania przez SPI i pinu RESET.
  • REKLAMA
  • #8 7690088
    I.T.I
    Poziom 16  
    Programowałem przez Avrstudio a przestawiłem tylko CKSEL choć powinno być dobrze według mnie ale jednak nie jest na szczęście mam druga atmege32 wiec tamtą obudzę jak będę miał czas.
  • #9 7690188
    landy13
    Poziom 31  
    M. S. napisał:
    Spróbuj uC jeszcze podać taktowanie z zewnętrznego generatora to może wstanie.
    Przecież I.T.I cały czas twierdzi, że ma podłączony generator.
    Cytat:
    A jakie będzie ustawienie "fusów" dla zewnętrznego generatora kwarcowego 8MHz
    Cytat:
    Przypominam generator 8Mhz zasilanie 5V
    Chyba że ustawił fusy na generator który okazał się być tylko oscylatorem.
  • REKLAMA
  • #10 7691526
    I.T.I
    Poziom 16  
    Kurcze rzeczywiście mała pomyła to jest oscylator a nie generator :/

    Ale nie sprawdziłem w programie co przestawiłem i wyszło na to ze dobrze wybrałem oscylator.
  • #11 7691676
    zumek
    Poziom 39  
    I.T.I napisał:
    Kurcze rzeczywiście mała pomyła to jest oscylator a nie generator :/

    http://pl.wikipedia.org/wiki/Generator_drga%C5%84


    I.T.I napisał:
    (standardowe połączenie z kondensatorami 22pF)

    To dotyczy raczej rezonatora kwarcowego :!:



    Ponieważ temat fusebitów był omawiany wielokrotnie, a także jest niezgodny z tematem tego wątku - zamykam.
REKLAMA