- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 10 von 10

Thema: Atmega 32 Uhr läuft zu schnell

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    OK ich hab den Debouncingpart weggemacht und Teste dann nun das Programm mit einem OCR1A Wert von 31250

    Bericht folgt.

    Vielen dank schonmal für die Hilfe.

  2. #2
    Leider rennt die Uhr nun übertrieben schnell hoch.

    Code:
    	#ifndef OCR1A
    	#define OCR1A OCR1  // 2313 support
    	#endif
    	
    	#ifndef WGM12
    	#define WGM12 CTC1  // 2313 support
    	#endif
    	#define XTAL      8000000L   // nominal value
    
    	TCCR1B = (1<<WGM12)| (1<<CS10);		// divide by 1						
    										// clear on compare
    	OCR1A = 31250;						// Output Compare Register
    	TCNT1 = 0;                          // Timmer startet mit 0
    	TIMSK = 1<<OCIE1A;                  // beim Vergleichswertes Compare Match
    	sei();
    
    SIGNAL (SIG_OUTPUT_COMPARE1A) {
    		ss++;//Addiere +1 zu Sekunden
    		LED_burned++;
    		ANALOG_ss++;
    		if (ss == 60)
    		{
    			ss = 0;
    			mm++;//Addiere +1 zu Minuten
    			if (mm == 60)
    			{
    				mm = 0;
    				hh++;//Addiere +1 zu Stunden
    				if (hh == 24)
    				{
    					hh = 0;
    				}
    			}
    		}
    	
    
    }
    Was mach ich denn nur falsch

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.703
    Blog-Einträge
    133
    Zitat Zitat von zschunky
    Setze mal den Prescaler auf 256 (8Mhz / 256 = 31.25KHz).
    zschunky hat den Prescaler schon vorgegeben, bei Dir steht was anderes.

    Code:
        TCCR1B = (1<<WGM12)| (1<<CS10);        // divide by 1                        
                                            // clear on compare
        OCR1A = 31250;                        // Output Compare Register
    Der genauere Wert für das OCR1A wäre 31249. (Formel im Datenblatt bei Timer1, Modes of Operation, CTC )

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

  4. #4
    Also
    Code:
    TCCR1B = (1<<WGM12)| (1<<CS12);
    THX

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Wie wäre es mit

    TCCR1B = (1<<WGM12)| (1<<CS12);

    Dann wäre der Prescaler auf 256 gestellt.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    JO dankeschön.

    Bin noch ein Noob was uC angeht nimmt Rücksicht.

Ähnliche Themen

  1. Atmega 32 mit 16 mhz quarz zu schnell ?
    Von bluePumpkin im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 5
    Letzter Beitrag: 25.01.2011, 00:15
  2. Antworten: 2
    Letzter Beitrag: 25.02.2009, 10:39
  3. Wie schnell läuft ein Schrittmotor
    Von Hellmut im Forum Motoren
    Antworten: 1
    Letzter Beitrag: 20.03.2008, 19:29
  4. Hilfe! Uhr läuft zu schnell?
    Von HPM im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 28.02.2007, 22:13
  5. PCF 8583 läuft zu schnell
    Von Zeroeightfifteen im Forum Microcontroller allgemeine Fragen/Andere Microcontroller
    Antworten: 5
    Letzter Beitrag: 02.04.2006, 17:54

Berechtigungen

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

LiFePO4 Speicher Test