mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PIC PWM Config


Autor: Tobias Däullary (der-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Um es kurz zu machen, der PWM funktioniert nicht so wie ich es mir 
gedacht habe. Ich hoffe, jemand kann kurz meine Config überfliegen, und 
mir sagen, ob ichs richtig gemacht hab:
PR2=0xFF;    // Wann soll Timer2 auslösen?
  
CCPR1L=0x00;  // Low Byte des 10 Bit-PWMs
CCP1CON<5>=0;  // High Bit1
CCP1CON<4>=0;  // High Bit0
  
TRISC=0;    // RC2 out
  
T2CON<1>=1;    // Timer2 Vorteiler = 16
T2CON<2>=1;    // Timer2 an
  
CCP1CON=0x2F;  // PWM Mode an

Nach der aktuellen Einstellung müsste die LED an RC1 (vom 18F2550) doch 
eigentlich aus sein.
Ist sie aber nicht, sie leuchtet dauerhaft (hab schon alle möglichen 
Kombinationen probiert). Könnte mir jemand sagen, in welcher Reihenfolge 
hier Low- und High Bits kommen?

mfg, Tobi

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tobias Däullary wrote:

> PR2=0xFF;    // Wann soll Timer2 auslösen?
Oberste 8 Bit des kompletten Cycles

> CCPR1L=0x00;  // Low Byte des 10 Bit-PWMs
Oberste 8 Bit des On-Cycles (10-2)

> CCP1CON<5>=0;  // High Bit1
Bit 1 des On-Cycle-Wertes

> CCP1CON<4>=0;  // High Bit0
Bit 1 des On-Cycle-Wertes

> TRISC=0;    // RC2 out
Der ganze PortC wird Ausgang

> T2CON<1>=1;    // Timer2 Vorteiler = 16
richtig

> T2CON<2>=1;    // Timer2 an
richtig

> CCP1CON=0x2F;  // PWM Mode an
ja, aber die vorhin gesetzten 2 untersten Bit des On-Cycle-Wertes werden 
wieder überschrieben.


> Nach der aktuellen Einstellung müsste die LED an RC1 (vom 18F2550) doch
> eigentlich aus sein.
(fast aus - On-Cycle ist 2, der komplette Cycle ist 1023.
Die LED ist vom PortC.1 über einen Widerstand gegen Masse geschaltet ?

> Ist sie aber nicht, sie leuchtet dauerhaft (hab schon alle möglichen
> Kombinationen probiert). Könnte mir jemand sagen, in welcher Reihenfolge
> hier Low- und High Bits kommen?
abwechselnd, mal 0 dann 1 und dann wieder von vorne ... ;-)

Autor: Tobias Däullary (der-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Die LED ist vom PortC.1 über einen Widerstand gegen Masse geschaltet ?"

Ja.

"ja, aber die vorhin gesetzten 2 untersten Bit des On-Cycle-Wertes 
werden
wieder überschrieben."

Verdammt, so kann man sich vertun ^^


Also sieht es folgendermaßen aus?
          ************************
CCPR1L:     7 6 5 4 3 2 1 0 - - 
CCP1CON:    - - - - - - - - 5 4 
          ************************
PWM 10 Bit:  9 8 7 6 5 4 3 2 1 0

Autor: Bernd Rüter (Firma: Promaxx.net) (bigwumpus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, so werden die 10 Bits zusammengepuzzlet...

Autor: Tobias Däullary (der-tobi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh mein Gott! 2MHz- Resonator & HS ^^ das passt ned gut zusammen!

Aber vielen Dank für deine Hilfe!

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.