mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wer gewinnt? PWM oder Port zuweisung


Autor: Fralla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte am OC0B Pin ein PWM signal Ausgeben. Dieser Pin liegt beim 
ATmega88 am Port D.
An den anderen Pins werden Daten ausgegeben.
Wenn die PWM in Betrieb ist und ich setze den ganzen Port D auf 0, was 
passiert dann?

Autor: Analog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn ich mich am Hintern kratze und meiner Mutter schaut zu, was 
passiert dann?

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn ich mich am Hintern kratze und meiner Mutter schaut zu, was
>passiert dann?

Dann solltest du dir mal Gedanken machen langsam aus deinem Elternhaus 
auszuziehen ...

Autor: Fralla (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Wenn ich mich am Hintern kratze und meiner Mutter schaut zu, was
>passiert dann?
Scheint dir ja öfter zu passieren, einfach nur bemitleidenswert und arm.

Ich möchte einfach wissen was eine höhere Priortät hat, der PWM ausgang, 
also OC0A oder die Zuweisung des Port-Register (PORTD)?

Autor: Hauke Radtki (lafkaschar) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Siehe Datenblatt, die PWM Funktion überschreibt jede Portfunktion an dem 
Pin,  das DDR register hat weiterhin seine funktion.

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht.... ist das Lesen und Verstehen von Datenblättern 
wirklich so schwer?!

Autor: Ralph (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es gibt 2 Möglichkeiten.
Welche davon auf deinen µC zutreffen musst, du im dem Datenblatt lesen.

1. Der Pin wird beim Schreiben Port = 0 auf 0 gesetzt und mit der 
nächsten Änderung des PWM signals wird der Pin wieder nach dem PWM 
signal geändert.
Die Auswirkung ist, das zum Zeitpunkt Port = 0 das PWM Signal 
beeinflusst wird.

2. Der Pin kann explizit als PWM Pin configuriert werden. In diesem Fall 
hat die Zuweisung Port = 0 keine Einfluß auf den Pin.


Lösungsweg für dich wäre eventuell :
Nicht Port = 0 zu verwenden sondern

Lese Portzustand ; Portzustand AND b00000001 ; schreibe Portzustand

In diesem Beispiel ist das niederwertigste Bit der Pin für PWM. Wird 
eion anderer Pin verwended die 1 an die entsprechende Stelle schieben.

Dieser Lösungsvorschlag funktioniert in beiden obengenannten 
Möglichkeiten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.