-         

Ergebnis 1 bis 7 von 7

Thema: Kennt winavr kein TCCR0A?

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    26
    Beiträge
    460

    Kennt winavr kein TCCR0A?

    Anzeige

    Hallo!

    Ich will bei einem mega32 den Timer0 verwenden und wenn er überläuft, soll ein Interrupt ausgelöst werden.

    Dazu konfiguriere ich den Timer 0 so:


    Code:
    #include <avr/io.h>
    #include <stdlib.h>
    #include <util/delay.h>
    #include <stdint.h>
    #include <avr/interrupt.h>
    
    void timer0_init()
    {	
    	TCCR0A|=0b00000000;		// Normaler Timer, KEIN PWM	
    	TCCR0B|=0b00000010;		// Prescaler auf 8, d.h. alle 0,8us 1x erhöhen
    	TIMSK0|=0b00000001;		// Interrupt beim Timer overflow enable
    
    }

    Der compiler schreibt folgende errors:

    ../timer0_init.c: In function 'timer0_init':
    ../timer0_init.c:21: error: 'TCCR0A' undeclared (first use in this function)
    ../timer0_init.c:21: error: (Each undeclared identifier is reported only once
    ../timer0_init.c:21: error: for each function it appears in.)
    ../timer0_init.c:22: error: 'TCCR0B' undeclared (first use in this function)
    ../timer0_init.c:23: error: 'TIMSK0' undeclared (first use in this function)


    Ich habe mir daraufhin das neueste Datenblatt (März 2009) von Atmel heruntergeladen, und darin steht dass die register TCCR0A, TCCR0B und TIMSK0 heißen.
    Meine winavr Version ist auch ganz neu, ich hab sie vor ner woche runtergeladen.

    Brauche ich irgendwelche speziellen includefiles? ich hab jetzt einfach mal alles inkludiert weil es nicht funktioniert...

    Woran kann das liegen dass der compiler so herumzickt?

    lg Christoph

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    20.05.2006
    Ort
    Lippe
    Alter
    48
    Beiträge
    524
    Hallo,

    Ich habe mir daraufhin das neueste Datenblatt (März 2009) von Atmel heruntergeladen, und darin steht dass die register TCCR0A, TCCR0B und TIMSK0 heißen.
    Sollte mich wundern. Schau doch noch einmal nach und schreib sonst mal die Seite`, auf der du das gefunden hast.

    Gruß

    Jens

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.03.2006
    Ort
    nahe Tulln (Niederösterreich)
    Alter
    26
    Beiträge
    460
    ab seite 101

    Wie würden die register sonst heißen?

    lg Christoph

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    In meinem Datenblatt ab Seite 78 TCCR0, TIMSK
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  5. #5
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Sieht fast so aus als wird hier Mega32 und Mega324 gemischt. Die Chips sind zwar ziehmlich ähnlich, aber Atmel hat beim Mega324 die neuere Art der Registerbezeichungen gewählt.

  6. #6
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Zitat Zitat von Besserwessi
    Sieht fast so aus als wird hier Mega32 und Mega324 gemischt ...
    Muss wohl so sein. Denn ich programmiere seit Monaten mit WinAVR/AVRStudio den mega168....
    Zitat Zitat von Christoph2
    ... Kennt winavr kein TCCR0A? ...
    und der hat GENAU diese Registernamen (vgl. Atmel-Doc 2545M–AVR–09/07). Hingegen - mein Atmel-Doc 8155A–AVR–06/08 für den M32 - kennt diese Register nicht.
    Ciao sagt der JoeamBerg

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Zusammenfassung:
    Christoph, Du hast das falsche Datenblatt. Der Mega32 hat nicht genug Timer, um das TCCRA Register in 'A' und 'B' teilen zu müssen!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •