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

Thema: I-Flag stört ADC und Timer

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Beiträge
    94

    I-Flag stört ADC und Timer

    Hi,
    ich habe folgendes problem mit dem AT90CAN:
    Ich verwende neben dem timer den adc in meinem aktuellen projekt. Alles läuft soweit, wird jedoch der timer initialisiert und das globale interrupt-enable flag gesetzt, laufen keine interruptgenerierenden Einrichtungen (ADC, DAC, UART) mehr. Per DEBUG LED konnte ich aber überprüfen, dass der komplette Code korrekt durchlaufen wird. Nach intensiver und erfolgloser Suche im datenblatt bin ich nun wieder hier im forum gelandet, da ich wieder mal nicht weiter weiß. Hat schon jemand etwas von dem problem gehört ? Kann es an den Fuse-bits liegen ?

    mfg,

    LC

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Vitis
    Registriert seit
    06.01.2005
    Ort
    Südpfalz
    Alter
    50
    Beiträge
    2.253
    In welcher Programmiersprache codest du ?
    Vor den Erfolg haben die Götter den Schweiß gesetzt

  3. #3
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    10.12.2004
    Ort
    LEV
    Beiträge
    505
    Hallo,
    wenn ein Interrupt ausgelöst wurde, wird kein weiterer zugelassen,
    solange nicht der erste per RETI-Befehl beendet wurde,
    oder durch SEI explizit die Interupts wieder eingeschaltet werden.

    Gruß Jan

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    15.03.2004
    Beiträge
    94
    Hi und danke erstmal für die antworten.
    Hier mal der Code. Wie gesagt, müsste der Timer0 doch jetzt mit einem
    takt von fosc/256 hochzählen, bis der zählerstand überläuft... passiert aber nicht. Muss ich noch was an den fusebits einstellen, um die interrupts korrekt nutzen zu können ?

    Code:
    #define TIMER0_INT _VECTOR(0x0022)
    
    
    void main (void)
    {
    	DDRA |= (1<<1);
    	
    	
    	TCCR0A = 0x04; 
    	TIMSK0 = 0x01;
    	sei();
    	
    
    	for(;;)
    	{
    	}
    }
    
    
    ISR(TIMER0_INT)
    {
    	PORTA ^= (1<<1);
    }
    mfg,

    LC

Berechtigungen

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

LiFePO4 Speicher Test