Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

mega2560,Bascom,timer2 - praca asynchroniczna

jarko24 18 Gru 2015 15:09 726 7
  • #1 18 Gru 2015 15:09
    jarko24
    Poziom 10  

    Witam

    Szukam i szukam i nie mogę znaleźć odpowiedzi dlaczego poniższy kod nie działa?

    '

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    Mam klon arduinoMega2560 i dołączony kwarc zegarkowy do TOSC1 i TOSC2,gdy użyję "Config Clock" działa dobrze przerwanie co 1s,jak zewrę kwarc to staje.
    Natomiast gdy korzystam z Config Timer kwarc zegarkowy nie jest brany pod uwagę

    0 7
  • #2 18 Gru 2015 15:51
    emarcus
    Poziom 34  

    jarko24 napisał:
    Witam

    ..gdy użyję "Config Clock" działa dobrze przerwanie co 1s,jak zewrę kwarc to staje.
    Natomiast gdy korzystam z Config Timer kwarc zegarkowy nie jest brany pod uwagę

    zamiast:
    Config Timer2 = Timer , Async = On , Prescale = 128

    wyedytuj odpowiednio dwa znaczące tu rejestry w sposób bespośredni, na przykład:
    TCCR2B = Bits(CS22 , CS20)
    ASSR = Bits(AS)

    albo oznacz doraźne wartości dla tych rejestrów na przyklad:
    TCCR2A = &H00
    TCCR2B= &H05
    ASSR = &H40

    e marcus

    0
  • #3 18 Gru 2015 16:21
    373522
    Użytkownik usunął konto  
  • #4 18 Gru 2015 17:20
    jarko24
    Poziom 10  

    Dzięki za szybką odp.
    Niestety jestem "mocno" początkujący :-) a do tego z bardzo słabym angielskim ,czytałem o tym na forum ale niewiele z tego zrozumiałem tzn.

    Wyczytałem z DS że trzeba ustawić CS20-1, 21-0, 22-1 to prescaler 128
    AS-0 ,EXCLK-0 tylko nie mam zielonego pojęcia jak to zrobić w Bascom
    domyślam się że trzeba napisać coś w stylu ASSR=00100000
    zależnie co chce ustawić
    a tego nie rozumiem
    TCCR2A = &H00
    TCCR2B= &H05
    ASSR = &H40

    Dodano po 12 [minuty]:

    Mam wyświetlacz 128x64 i pomiar temperatury, na LCD wyświetlam licznik z przerwania i gdy mam CONFIG TIMER itd to licznik zapiernicza nie reagując na kwarc zegarkowy a gdy wyremuje i zostawię CONFIG CLOCK to jest OK

    0
  • #5 18 Gru 2015 18:10
    373522
    Użytkownik usunął konto  
  • #6 18 Gru 2015 20:02
    jarko24
    Poziom 10  

    Całości kodu nie wstawiałem bo chodziło tylko o tą część którą napisałem,
    po prostu powinno działać zamiennie a nie działało.Problemem okazał się jak zwykle
    Bascom po aktualizacji do wersji 2.0.7.3 polecenie CONFIG TIMER działa poprawnie

    Dziękuje wszystkim za chęć pomocy

    Dodano po 52 [minuty]:

    Trochę się dokształciłem międzyczasie i sprawdziłem w starym Bascom'ie taki kod jak niżej działa

    Kod: vbnet
    Zaloguj się, aby zobaczyć kod

    0
  • #7 18 Gru 2015 20:50
    373522
    Użytkownik usunął konto  
  • #8 18 Gru 2015 21:22
    jarko24
    Poziom 10  

    Niedawno stawiałem system od nowa i jak zwykle 1/2 programów poszła w kosmos,
    miałem nowszą wersję ale nie miałem czasu "postarać się" aby działała lepiej,dlatego pisałem w starszej "sprawniejszej" :D .Dopiero ta zagadka zmusiła mnie do intensywniejszego myślenia :D

    "Nie ma tego złego...." Przynajmniej opanowałem bezpośrednie wpisy do rejestrów.

    Dzięki za zainteresowanie i WESOŁYCH ŚWIĄT !! :D

    0