Hallo, nachdem ich jetzt allen Hinweise hier aus dem Forum nachgegangen bin und damit auch den größten Teil der Probleme lösen konnte, bleibt nun noch immer in einem speziellen Fall die Notwendigkeit, die Compare-Ausgänge von Timer1 im Normalmodus zurückzusetzen (Das Problem mit allen anderne Modi ist, daß entweder die Compare-Ausgänge auch nicht automatisch bei Überlauf zurückgesetzt werden oder aber die Compare-Register nicht sofort sondern erst bei Top oder Bottom upgedated werden). Leider ist der Stand noch immer der, daß die Compare-Ausgänge im Normalmodus zwar gesetzt werden, ich aber im Datenblatt nirgende eine Möglichekeit finden konnte, sie wieder zurückzusetzen. Das muss doch irgendwie gehen, sonst wäre ja die Compare-Output-Funktion in Verbindung mit dem Normalmodus vollkommen sinnlos, oder? Gruß, Harald
Harald wrote: > Leider ist der Stand noch immer der, daß die Compare-Ausgänge im > Normalmodus zwar gesetzt werden, ich aber im Datenblatt nirgende eine > Möglichekeit finden konnte, sie wieder zurückzusetzen. Im Datenblatt gibt es eine Tabelle (in meiner Version ist das Tabelle 44, allerdings ist meine derzeitige Version des DS von vor 2 Jahren). Da steht drin, wie man in den nicht-PWM-Betriebsarten die COM-Bits setzen kann, damit der betreffende Pin beim Compare gesetzt, gelöscht oder getoggelt werden kann.
Hallo, die Tabelle kenne ich, aber das Problem ist nicht das Verhalten der Pins, wenn ein Compare Match auftritt, sondern wie ich sie zu einem späteren Zeitpunkt wieder zurücksetzen kann. Wenn ich das alles z.B. so einstelle, daß beim Compare Match OC1A bzw. OC2A gesetzt werden, dann bleiben die im Normalmodus danach ja gesetzt. Aber irgendwie muss man sie ja auch wieder zurücksetzen können. Leider nützt es nichts, sie auf disconnected zu setzen, da dann zwar die Pins erst mal von der Compare-Logik getrennt sind, aber das zugehörige Register behält seinen Wert bei. Wenn ich die Pins nun wieder mit der CC-Logik verbinde, haben sie wieder den selben Pegel wie vor der Trennung. Gruß, Harald
Harald wrote: > Hallo, > > die Tabelle kenne ich, aber das Problem ist nicht das Verhalten der > Pins, wenn ein Compare Match auftritt, sondern wie ich sie zu einem > späteren Zeitpunkt wieder zurücksetzen kann. Z.B., indem Du in das Portregister an der betreffenden Stelle eine Null schreibst...
Hallo, >Z.B., indem Du in das Portregister an der betreffenden Stelle eine Null >schreibst... das habe ich bereits versucht, der Ausgang hat nicht darauf reagiert. Würde auch dem Schaltbild auf S.97, oben (Bild 44) nach so sein; der Pin gibt, wenn er auf Compare Output eingestellt ist, nicht den Inhalt von PORTDx sondern von OCnx aus. Ich konnte aber bisher nicht herausfinden, wie man auf dieses Register zugreift. Gruß, Harald
Hi Harald, Drei Schritte: 1. COM0x auf 'clear' setzen 2. eine '1' in FOC0 schreiben 3. COM0x wieder herstellen. Nach lesen bei 'Force Output Compare' Seite 70 im PDF. Hoffe das ist was du suchst Olaf
Ups... COM1x, FOC1 natürlich und Seite 94...
Hallo, >Drei Schritte: >1. COM0x auf 'clear' setzen >2. eine '1' in FOC0 schreiben >3. COM0x wieder herstellen. > >Nach lesen bei 'Force Output Compare' Seite 70 im PDF. > >Hoffe das ist was du suchst Jepp, das war´s das Ende meiner Sorgen :-) Gruß, Harald
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.