www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Timer - Tiny45 Probleme


Autor: Neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ich bin recht neu in diesem Breich und habe bisher nur nur 
Erfahrungen im bereich Hardware.
Ich fummel jezt einige Wochen mit Mikrokontrollern und habe bisher auch 
keine großen Schwierigkeiten gehabt meine Vorstellungen zu 
verwirklichen.
Jetzt jedoch hänge ich fest und bitte um ein wenig Hilfe.

Also ich programmiere in C und versuche bei einem Tiny45 den Timer0 zu 
configurieren. Ziel soll es sein erst mal ein einfaches 100kHz 
Rechtecksignal zu erzeugen.

Ich configuriere den Timer wie folgt:
//Timer0 Config
TCCR0A |= (1 << WGM01);   // Timer0 in CTC Mode
TCCR0B |=  (1 << CS00);    // Timertakt = FCPU
OCR0A  = 20;      // CTC-Wert auf 20 - 4MHz/20=200kHz
TIMSK |= (1 << OCIE0A);   // Enable CTC interrupt
TCCR0A |=  (1 << COM0A0);  // Toggle OC0A on Compare Match

In der main folgt dann das sei() zum aktivieren der Interupts.

Nach reichlicher Recherche im Datenblatt hänge ich hier nun fest und an 
den Ausgängen tut sich nichts.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mein Glaskugel sagt, der Fehler steckt in dem, was Du nicht gepostet 
hast.

Was ist denn daran so schwer, nen compilierbaren Code zu posten (aber 
als Anhang!!!!!).


Peter

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
COM00/COM01-Bits?
PB1 muss auserdem als Ausgang gesetzt werden.

Autor: Neuer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sry hier die .c.
Ist jedoch nicht viel mehr drin als die Konfiguration des Timers.

Hatte obwohl im Datenblattes Seite 80 unter
"Compare Match Output A Mode" steht das
"the OC0A output overrides the normal port functionality of the I/O pin 
it is connected to"
mal den Pin manuel als Ausgang definiert nur bring leider auch nichts.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was machst du in der Interruptroutine?

Autor: Neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichts.
Dachte mir der macht das dann alles mit der Hardware.

Später soll noch mehr auf den µC aber erwst mal wollte ich für den rest 
der Schaltung nur 100kHz zur verfügung stellen und am besten so das 
nicht viel Rechenleistung gebraucht wird.

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann nimm mal diese Zeile raus:
TIMSK |= (1 << OCIE0A);     // Enable CTC interrupt

Autor: Neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
macht leider auch keinen Unterschied wenn ich
TIMSK |= (1 << OCIE0A);     // Enable CTC interrupt
rausnehme

Autor: Hubert G. (hubertg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe leider keinen Tiny45 zum probieren, aber in der Simulation 
funktioniert es. Das DDRB noch auf Ausgang setzen.

Autor: Neuer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mmh keine Ahnung warum aber aufm Desktoprechner Läuft das ganze in der 
Simulation und auch dann im µC.
hatte das ganze vorher aufm Laptop gemacht und selbes stk500 usw. dran 
und es ging nichts.
Werd nachher noch mal die Win AVR und AVR Studio Versionen vergleichen

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.