Datum: 22.03.2008 20:18
Hallo User, nachdem ich den halben Nachmittag versucht habe, den Timer 1 meines AT89C51 zum Laufen zu bringen, frage ich jetzt euch. Die Initialisierung des Timers stellte bisher kein Problem da, auch globale Interrupts und der Interrupt des Timers wurden aktiviert. Jetzt jedoch zu meinem Problem: Wie erkenne ich den Interrupt des Timers? Welches Bit muss abgefragt werden? Oder muss ich überprüfen ob der Wert des Timers höher als 255 geht? (Dann sehe ich jedoch keinen Sin im Interrupt...). Vielen Dank im Vorraus Johannes PS:Ich programmiere in C, nicht in Assembler.
Datum: 22.03.2008 21:28
Johannes wrote: > Die Initialisierung des Timers stellte bisher kein Problem da, auch > globale Interrupts und der Interrupt des Timers wurden aktiviert. Jetzt > jedoch zu meinem Problem: Wie erkenne ich den Interrupt des Timers? Indem Du im T0-, T1- oder T2-Interrupthandler landest. Du mußt natürlich auch einen definiert haben, ansonsten stürzt Dein Programm gnadenlos ab. Peter
Datum: 23.03.2008 12:32
Entweder prüfst du auf das Flag T0/T1/T2, was aber nur bei deaktiviertem
Timer Interrupt geht, da er ansonsten in die ISR springen würde.
Oder du brauchst selber gar nicht zu prüfen bei aktiviertem Interrupt,
weil der Timer bei einem Überlauf automatisch in die ISR springt, in
welcher du dann deine gewünschten Aktionen definieren musst.
Ciao,
Rainer
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos und Scans verwenden
- Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel