Stellung OC-PIN nach abschalten der PWM

Gast #341926
Lesenswert?
• ▲
▼
Hallo,

habe mal ne Frage was nach dem abschalten der PWM mit einem Pin
passiert, hat er die Stellung die er vor dem Einschalten der PWM hatte
oder ist es eher so das man sich darauf nicht verlassen kann und ihn
neu beschreiben sollte. Kurzgefasst schauts so aus

Sicherstoppen:
sbr temp, 0b00001000    ;OC0-Pin high, zieht N-FET gegen Masse
out portb, temp         ;damit Motor nicht unerwartet anläuft

PWMUebergabe:
lds temp, DVS           ;Lade PWM-Wert aus Speicherzelle im SRAM
out OCR0, temp          ;Übergebe an PWM-Einheit

PWMein:
ldi temp, (0<<FOC0) | (1<<WGM00) | (1<<COM01) | (1<<COM00) | (1<<WGM01)
| (1<<CS02) | (0<<CS01) | (0<<CS00)   ;FAST-PWM
out tccr0, temp

PWMaus:
ldi temp, (0<<FOC0) | (1<<WGM00) | (0<<COM01) | (0<<COM00) | (1<<WGM01)
| (0<<CS02) | (0<<CS01) | (0<<CS00)  ;Disconnect OC0-PIN von
PWM-Einheit, Timer stoppen
out tccr0, temp

Sicherstoppen2:   Benötigt?
sbr temp, 0b00001000    ;OC0-Pin high, zieht N-FET gegen Masse
out portb, temp         ;damit Motor nicht unerwartet anläuft
#341928
Lesenswert?
• ▲
▼
Klar, sicher ist sicher. Aber ist es nicht so, daß durch Aktivieren der
PWM der Wert in PORTx ignoriert wird, sich also durch die PWM auch
nicht verändert? Wenn dem so wäre, würde nach Abschalten der PWM wieder
der ursprüngliche PORTx-Wert auf den Ausgangstreiber geschaltet. Schau
doch mal, ob sich während der PWM der Registerwert von PORTx ändert.
Falls ja, wüßte ich nicht, wo der AVR den ursprünglichen Wert
zwischenspeichern sollte. Ich nehme an, im PWM-Modus wird an dem PORTx
"vorbeigemuxt".
Gast #341930
Lesenswert?
• ▲
▼
ja stimmt schon "sicher ist sicher", hätte mich nur mal interessiert.
Dort wo ich die Schaltung betreibe komme ich leider nur mit nem
untermotorisieren Laptop hin. Muss mal schauen, werde es umbedingt noch
testen da es mich auch interessiert ob einfach nur vorbeigemuxt wird und
der Wert erhalten bleibt.
Gast #341931
Lesenswert?
• ▲
▼
Also bei der simulation wird der wert in im PORTx geändert. Aber ich
glaube mich zu errinnern, dass bei meinen versuchen mit PWM der wert
immer wieder auf den ausgangswert der vorher drinne stand zuruck fiel.
Aber wenn du durch die 2 befehle in keine timing oder sonstwas
schwierigkeiten kommst dann hau das rein.
Gast #341932
Lesenswert?
• ▲
▼
Hallo,

im datenblatt des Mega8 und 128 steht,
das der OCR Pin low ist, wenn der PWM Wert null ist.
Also bleibt der Status nicht dort stehen,wo er ist, oder geht dahin, wo
er vorher war.

Gruß Toby
#341933
Lesenswert?
• ▲
▼
Ja, der OCR-Pin selbst muß diesen Pegel annehmen. Aber wenn im PWM-Modus
nur ein Mux die PWM-Logik statt den PORT-Registerwert auf den
Ausgangstreiber schaltet, dann muß sich das PORT-Register dafür nicht
ändern. Der Simulator scheint das Register selbst zu ändern. Das muß
aber nicht unbedingt der Realisierum im Chip entsprechen. Ich weiß
nicht, wie präzise der Simulator den Chip nachempfindet.
Gast #341938
Lesenswert?
• ▲
▼
der Zustand des Ports wird vom Bit PVOE und PVOV überschrieben.
Der eigentliche Wert deines Ports bleibt im Ausgabelatch erhalten und
steht nach abschalten der PWM wieder zur Verfügung
Seite 62 Table 32.

Esst mehr Obst - lest mehr Datenblätter

Gruß zusammen

AxelR.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.