www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit Timer


Autor: walter01 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!!

Bin gerade dabei mich mit den Pic30f auseinander zusetzen und will den 
Timer1 des uC verwenden.
Ich verwende den pic 30F4013 sowie das dsPICDEM 2 Development Board, 
programmiere im MPLAB und benutze den pic30-gcc Compiler.

Nun ist mein Problem das der Timer nicht zu Zählen beginnt das heißt das 
Register TMR bleibt immer auf 0x0000 und das Interrupt Flag wird nicht 
gesetzt.
#include <p30fxxxx.h>    
#include "system.h"      
                    
_FOSC(CSW_FSCM_OFF & XT_PLL8);  //Run this project using an external crystal 
                                //routed via the PLL in 8x multiplier mode 
                                //For the 7.3728 MHz crystal we will derive a 
                                //throughput of 7.3728e+6*8/4 = 14.74 MIPS(Fcy) 
                                //,~67nanoseconds instruction cycle time(Tcy). 
_FWDT(WDT_OFF);                 //Turn off the Watch-Dog Timer. 
_FBORPOR(MCLR_EN & PWRT_OFF);   //Enable MCLR reset pin and turn off the 
                                //power-up timers. 
_FGS(CODE_PROT_OFF);            //Disable Code Protection 
int main (void) 
{ 
 T1CON = 0x0020;         //Timer1 set up to count on instruction cycle 
                                //edge with 1:64 prescaler applied initially. 
        PR1 = 0x00FF;           //Period Register, PR1, set to maximum count 
        IFS0bits.T1IF = 0;      //Clear the Timer1 Interrupt Flag 
        IEC0bits.T1IE = 1;      //Enable Timer1 Interrupt Service Routine 
    
      
 while(1) 
{                         
        T1CONbits.TON=1;    

        if(IFS0bits.T1IF==1)        
      {        
              T1CONbits.TON=0;                
   Tu irgendwas                
    }                
             TMR1=0x0000; 
   IFS0bits.T1IF =0; 
         } 
return 0;               //Code never reaches here! 
} 

Ist hier irgendwo ein Fehler in der Timer Konfiguration?
Wäre sehr dankbar wenn mir jemand weiter helfen könnte.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.