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

Thema: Timer Interrupt mit C8051F020

  1. #1

    Timer Interrupt mit C8051F020

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Guten Tag allerseits! : )

    Folgendes Problem plagt mich. Ich möchte einen simplen Timer benützen, jedoch springt er einfach nicht in meine Interruptroutine. Mit C befinde ich mich noch einwenig auf Neuland - bin deshalb auf Hilfe angewiesen. Könnt ihr einen Fehler erkennen? Vielen Dank im Voraus : )

    Hier der Code:

    Code:
    #include <C8051F020.H>
    
    //+------------------------------------------------------------------------------------------+
    //|PROTOTYPING                                                                       |
    //+------------------------------------------------------------------------------------------+
    
    void timer0_ISR (void);
    
    //+------------------------------------------------------------------------------------------+
    //|Timer Initialisieren                                                                 |
    //+------------------------------------------------------------------------------------------+
    
    void initTimer(void){
    
    
            TMOD = (TMOD & 0xF0) | 0x01;            /* Set T/C0 Mode */
            TH0 = 0x01;                                     /* T0 auf 50ms eingestellt */
            TL0 = 0x01;
            ET0 = 0x01;                             /* Enable Timer 0 Interrupts */
    
            EA = 0x01;                              /* Global Interrupt Enable */
    
            WDTCN=0xDE;                                                    /*watchdog deaktivieren*/
            WDTCN=0xAD;
                                            }
                                                                            
    
    //+------------------------------------------------------------------------------------------+
    //|MAIN                                                                                     |
    //+------------------------------------------------------------------------------------------+  
    
    void main (void)
    {
            TR0 = 0x01;                              // Start Timer 1 
    
            while(1)
            {
            }
    }
    
    //+------------------------------------------------------------------------------------------+
    //|Timer 0 Interrupt                                                                  |
    //+------------------------------------------------------------------------------------------+
     
    void timer0_ISR (void) interrupt 1      
    {
       int inter0;
       inter0++;
       P2 = inter0;
       DelayNmSec(400);
     }

  2. #2
    Benutzer Stammmitglied
    Registriert seit
    25.08.2004
    Ort
    Planegg
    Beiträge
    96
    Schreib doch mal beim Prototypen

    "void timer0_ISR (void) interrupt 1;"

    ich denke, das ist der Fehler...

    mfg beppo

Berechtigungen

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

Solar Speicher und Akkus Tests