mikrocontroller.net

Forum: Compiler & IDEs Timer1 im ATmega8 CTC-Vergleich läuft nicht


Autor: Erik H. (agutanus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe letzte Woche begonnen mit C einen ATmega8 zu programmieren und 
habe dementsprechend wenig Erfahrungen...

Momentan versuche ich einen Timer zu programmieren, welcher eine Uhr im 
Sekundenabstand hochzählen lässt.

Dazu habe ich folgenden Code geschrieben (siehe Anhang)

Die Bezeichnungen der Bits habe ich aus dem Tutorial "AVR-GCC-Tutorial 
Die Timer und Zähler des AVR"

den dort gegebenen Code kann ich übrigens gar nicht erst compilieren...
-> error: 'TCCR0A' - undeclared (first use in this function)

Meinen Code kann ich kompilieren, allerdings wird der Interrupt bei mir 
nie ausgelöst...

vG,
Erik

Autor: Magnetus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Erik Her schrieb:
> Meinen Code kann ich kompilieren, allerdings wird der Interrupt bei mir
> nie ausgelöst...
//Hauptprogramm
int main()
{

  init();                //initialisiert LCD-Display und Timer

  mytime.hours = 19;          //!testweise! Voreinstellung der internen Zeit
  mytime.minutes = 0;
  mytime.seconds = 16;
  mytime.milliseconds = 0;

  lcd_printTime();          //erste Ausgabe der Zeit auf dem LCD-Display

  while(1);              //leere Schleife um auf Interrupts zu warten

  return 0;
}

Ich kann kein "sei();" entdecken.

Gruß,
Magnetus

Autor: Magnetus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Magnetus schrieb:
> Ich kann kein "sei();" entdecken.

Shit... mal wieder zu voreilig... das "sei();" steckt in "init();".

Muss noch mal genauer hinsehen.

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie erzeugst du das, was du dann in den µC schreibst? Poste doch mal 
bitte den kompletten Build-Output.

Autor: Erik H. (agutanus)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
wo finde ich denn den "Build-Output"?

Na ich hänge einfach mal den gesamten Projektordner an...

Ich benutze AVR-Studio 4 mit dem GCC-Compiler (nachinstalliert)

Erik

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wieso ist in deinen Projekt-Optionen ein AtMega128 eingetragen?

Autor: Hc Zimmerer (mizch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und - ich habe kein Windows hier - im .aps findet sich
<CURRENT_PART>ATmega32HVB</CURRENT_PART>
aber nirgends ein ATmega8.  Kein Wunder, dass der seine Interrupts nicht 
findet.

Autor: Erik H. (agutanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke - Jetzt läufts!
Habe nun in "Project > Configuration Options" den Richtigen µC 
ausgewählt.

Jetzt muss ich nur noch raus finden, auf welcher Frequenz der interne 
Quarz läuft. Aber ich werde mal die Zeit zählen, die er für ein paar 
Million Takte benötigt - werden wohl 8 MHz sein.

Erik

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Erik Her (agutanus)

>Jetzt muss ich nur noch raus finden, auf welcher Frequenz der interne
>Quarz läuft.

Es gibt keinen internen Quarz. Nur interne RC-Oszillatoren.

> Aber ich werde mal die Zeit zählen, die er für ein paar
>Million Takte benötigt - werden wohl 8 MHz sein.

Ein Blick auf die AVR Fuses ist deutlich sinnvoller.

MfG
Falk

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.