Hallo Leute, ich hab hier ein paar sehr mysteriöse Dinge im Zusammenhang mit dem Interrupt Flag Register TFIR. Im TFIR wird bei Zählergleichheit mit dem Vergleichsregister A das Flag OCF1A gesetzt. Soweit, so gut, das funktioniert auch. Soweit mir bekannt ist, kann dieses Flag durch Beschreiben wieder zurückgesetzt werden. Jedoch bleibt der Befehl outp(0x00,TIFR) wirkungslos! Ich habe mir mal den compilierten Assemblercode angesehen, dort steht hierfür der Befehl out 0x38,R1, wobei im Register R1 der Wert 0 steht, also soweit auch richtig übersetzt. Was mache ich falsch??? Desweiteren hab ich mal eine Frage zur Position dieses Bits. Im AVR-Studio ist OCF1A im Bit 4 angezeigt, nach Tramperts Mikrocontroller-Buch sitzt OCF1A im Bit 6 des Registers TIFR. Wie kommt das? Aber wer kennt es nicht, das Gefühl, dass man irgendwann den Punkt erreicht, an dem man mal den PC ausmachen und eine Nacht über solche Dinge schlafen muss. Vielleicht sieht morgen ja alles ganz anders aus und die Position der Flags hat sich auf wundersame Weise verändert, wer weiss? ;-) Beste Grüsse, Notker
Hi Notker, das Ganze ist zwar etwas unlogisch, aber Interruptflags werden zurückgesetzt indem man sie mit einer "1" beschreibt. Gruß Axel
Hi Axel, danke für den brauchbaren Hinweis! Ist schon eine etwas seltsame Logik aber oft beharrt man auf festgefahrenen Erfahrungen. Mit Mikrokontrollern ist es scheinbar wie mit dem Sex, man sollte ab und zu mal was ungewohnt neues ausprobieren ;-) Aber wenn mir noch jemand die Lösung des Rätsels mit der Bitposition des OCF1A-Flags verraten kann, dann bin ich rundum glücklich. Gruss, Notker
... ich nochmal . Schau mal nach für welches Device der Simulator konfiguriert ist. Für den 2313 z.B. ist OCF1A auf Bitposition 6, das kann aber bei einem ATmega schon wieder anders sein. Gruß Axel
Hi Axel, den Prozessortyp hab ich richtig eingestellt, daran kann es nicht liegen. Er zeigt das Bit ja auch richtig an wenn es gesetzt ist. Gruss, Notker
Hi Wenn du einen 8515/35 oder 4434 als Prozessor hast , steht OCF1A auf TIFR,5 ist also Bit 4. Gruß Uwe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.