Bascom-AVR Timer

Gast #48736
Lesenswert?

Hallo,

Ich hab leider keine Ahnung wie ich in Bascom einen Timer programmieren
kann der bspw. jede Sekunde einen bestimmten Befehl ausführt.
Das einzige was ich bisher mache ist:

Enable Timer1
Config Timer1 = Timer , Prescale = 256

Stimmt das soweit oder was muss ich machen ?
Gast #48737
Lesenswert?

Hallo LinkinPark:
Wie man den Timer benutzt,steht in der online-hilfe des Compilers;-)
 Z.B bei 1Mhz Takt:
hier ein einfaches kleines Testprogramm,funktion:zählt bis 255,und
zeigt den zustand an den leds an.

  Ddrb = 255 : Portb = 255
  Dim Count As Byte
  Config Timer1 = Timer , Prescale = 1024
  On Timer1 Counting 'bei Interrupt zur ISR "Counting"
  Enable Timer1
  Enable Interrupts 'aktiv.des Timer1 Interrupts
  Do
  ' macht nix,oder hier kann auch ein anderes PRG.liegen
  Loop
  'das nachfolgene Prg. wird jede Sekunde ausgeführt
  Counting:
  Incr Count
  Portb = Count
  Return 'und zurück aus dem Interrupt
das PRG kann man im Simu testen (Im Bascom Simulator)

MfG Thomas Bader
Gast #48738
Lesenswert?

Keine Ahnung woran das liegt aber bei mir passiert da gar nichst. Ich ha
 die Zeile:
Portb = Count
durch
Print Count
ersetzt.
Dadurch müsste doch eigentlich jede Sekunde was an den PC geschickt
werden. Kann es eventuell sein dass ich irgenwelche Fusebits falsch
gesetzt habe, da ich damit kürzlich etwas herumgespielt habe ?
Gast #48743
Lesenswert?

ich benutze eine atmega32. wenn man in einer isr einen funktions-aufruf
macht ( oder sub ), funktioniert die isr nicht mehr !!
eigenartige sache ( stack-probleme ??? ). man müsste sich mal mit mcs
electronics in verbindung setzen!
gruß peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren