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

[Atmega8] [bascom] nadpisywanie zmiennej.

07 Maj 2009 19:42 2761 14
REKLAMA
  • #1 6502981
    Konto nie istnieje
    Poziom 1  
  • REKLAMA
  • Pomocny post
    #2 6503321
    jacek13
    Poziom 15  
    Witam
    ATMega8 ma Timer1 16-Bitowy i do odczytu lub wpisu służą dwie dane:
    "TCNT1L" - odczyt lub zapis "dolnej" 8-Bitowej części i
    "TCNT1H" - odczyt lub zapis "gónej" 8-Bitowej części
    n.p. stan licznika "21456" odpowiada : TCNT1H =83 ; TCNT1L=208 bo 21456:256(pojemność TCNT1L=256)=83+208
    Aby wszystko było OK to obie wartości (TCNT1H i TCNT1L) muszą być użyte, przy czym należy najpierw wpisać TCNT1H.
  • Pomocny post
    #3 6503471
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #4 6503554
    crazy_phisic
    VIP Zasłużony dla elektroda
    Sprawdź w symulacji co się dzieje z rejestrem TCCR1B (a szczególnie z bitami CS10 - 12) po komendzie "timer1 = 0".
  • REKLAMA
  • #5 6503607
    Konto nie istnieje
    Poziom 1  
  • #6 6503625
    janbernat
    Poziom 38  
    "... końcu chce wstawić timer1=0 aby wyzerować licznik i aby ten liczył od początku"
    Jak ma liczyć od początku jak nie ma start timer1?
    Stoi i podaje 0.
    To 2 jest niepokojące.
  • REKLAMA
  • #7 6503670
    Konto nie istnieje
    Poziom 1  
  • #8 6503996
    janbernat
    Poziom 38  
    Można się zgubić w Twoim opisie:
    "Tylko dlaczego ten sam kod ale przerwanie wywołane na nodze Portb.0 działa?"
    A które przerwania włączyłeś?
    Ten sam kod działa-nie działa?
  • #9 6504721
    Konto nie istnieje
    Poziom 1  
  • Pomocny post
    #10 6508188
    Konto nie istnieje
    Poziom 1  
  • #11 6508295
    Konto nie istnieje
    Poziom 1  
  • #12 6508970
    janbernat
    Poziom 38  
    Mimo tajności kodu mam podejrzenie że jest w nim:
    config int0=change
  • #13 6509114
    Konto nie istnieje
    Poziom 1  
  • #14 6509180
    janbernat
    Poziom 38  
    To już z czystej ciekawości:
    (jeśli Ci się chce)
    zamiast:
    timer1=0
    wstaw:
    TCNt1h=0
    TCNT1l=0
    I podaj wersję Bascoma.
  • REKLAMA
  • #15 6510105
    Konto nie istnieje
    Poziom 1  
REKLAMA