- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 10

Thema: Atmega 32 Uhr läuft zu schnell

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #3
    HI ich habe mal ein bisschen herumprobiert und verwende nun den Comparemode.
    Code:
           #ifndef OCR1A
    	#define OCR1A OCR1  // 2313 support
    	#endif
    	
    	#ifndef WGM12
    	#define WGM12 CTC1  // 2313 support
    	#endif
    	#define XTAL      8000000L   // nominal value
    	#define DEBOUNCE    256L        // debounce clock (256Hz = 4msec)
    	#define uchar unsigned char
    	#define uint unsigned int
    	
    	uchar prescaler;
    
            TCCR1B = (1<<WGM12) | (1<<CS10);	// divide by 1
    	// clear on compare
    	TCNT1 = 0;                          // Timmer startet mit 0
    	prescaler = (uchar)DEBOUNCE;        //software teiler
    	TIMSK = 1<<OCIE1A;  
    
           SIGNAL (SIG_OUTPUT_COMPARE1A) {
    	/************************************************************************/
    	/*      Insert Key Debouncing Here      */
    	/************************************************************************/
    	
    	if( --prescaler == 0 ){
    		prescaler = (uchar) DEBOUNCE;
    		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;
    				}
    			}
    		}
    	}
    	#if XTAL % DEBOUNCE
    	if (prescaler <= XTAL % DEBOUNCE)
    	OCR1A += XTAL / DEBOUNCE +1;   /* um 1 Takt längere Periode um den Rest abzutragen */
    	else
    	#endif
    	OCR1A += XTAL / DEBOUNCE;   /* kurze Periode */
    }
    Das Erfreuliche: Die Uhr Läuft nicht mehr zu schnell, dafür nun aber leider zu langsam. (Abweichung nach 5h laufzeit ca. 30 minuten. [Uhr geht zurück])

    Habe nun auch mal meine Fusesettings mitgepostet falls sich der Fehler vielleicht doch dort verbirgt.

    Grundsetzlich ist es aber schon möglich den Timer1 comparemode für eine SoftwareClock (ohne große Abweichungen) zu verwenden und gleichzeitig eine lauffähiges UART Programm zur Kommunikation mit dem PC zu haben?
    Weil großteils wird für den UART ja der Timer1 verwendet so wie ich das beurteilen kann...
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Fusesettings.jpg  

Ähnliche Themen

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

Berechtigungen

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

Solar Speicher und Akkus Tests