www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik OCR0 im ATMega32 nicht veränderbar


Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo miteinander,

ich versuche einen Lenkservo mit PWM anzusteuern. Ich muss einen ~50Hz 
Takt erzeugen, was an sich auch funktioniert, aber um die Richtung 
einzustellen, muss ich einen kurzen HIGH-Puls senden.
Mein Problem ist, dass in der AVR Studio-Simulation das OCR0-Register 
nicht veraendert wird.
Hier der Code von der Initialisierung
void init_timer0 ()
{
  DDRB = (1<<PB3);
  //PWM-Signal an PB3 fuer Lenkservo
  TCCR0 = (1<<COM01) | (1<<WGM01) | (1<<WGM00) | (1<<CS02) | (1<<CS00);
  //Timer0 als Fast-PWM mit Prescale 1/1024. 
  //Bei 12MHz System-Clock: ~22ms
  //Max. Linksausschlag bei 1,0ms-Puls:  ~12 Schritte (0b00001100)
  //Mittelstellung bei 1,5ms-Puls:    ~18 Schritte (0b00010010)
  //Max. Rechtsausschlag bei 2,0ms-Puls:  ~24 Schritte (0b00011000)
  OCR0 = 0b00010010;
}

Ich habs sowohl als Dezimalzahl, als Hexadezimalzahl und auch als 
Binaerzahl, wie oben, versucht. Auch Bitmanipulation hab ich versucht.

Koennt ihr mir helfen?

Vielen Dank schonmal im Voraus

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Mein Problem ist, dass in der AVR Studio-Simulation das OCR0-Register
>nicht veraendert wird.

Dann brenn das Program in den uC. OCR0 ist definitiv RW.

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Haette mir auch selbst denken koennen, dass ichs net erkenn, wenn der 
auf 12MHz laeuft ^^ fuer 1,5ms bin ich zu langsam ;D

Aber eine Frage noch:
Kann ich
OCR0 = 0b00010010 + 6
schreiben?
Ich seh leider den Unterschied net ^^

Vielen Dank Holger fuer deinen Gedankenanstoss

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Aber eine Frage noch:
>Kann ich
>
>OCR0 = 0b00010010 + 6
>
>schreiben?

Klar, das ist dann 18 + 6.

Autor: Roman (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja das Ergebnis wollte ich hoeren =D
Supi dann hab ich ja doch net so falsch programmiert =D

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.