www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LPC 2148


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.Sitze jetzt hier schon set stunden und komme nicht mehr weiter.
Möchte eigentlich nur beim Arm LPC2148 den timer0 benutzen und einen 
Interrupt auslösen.Das haut aber nicht hin,da mein Programm nicht in die 
S.Routine spring.Vielleicht kann mir da jemand helfen.
Hier sind noch die einstellungen:
void init_timer(void)
{
  T0PR = 2;
  T0MR0 = 1900;            //Match Register
  T0MCR = 3;                    //Interrupt and Reset on MR0
  T0TCR = 1;                         //TIMER0 enable
  VICVectAddr0 = (unsigned long)tc0;
  VICVectCntl0 = 0x20 | 4;
  VICIntEnable = 0x00000010;       //enable Timer0 interrup
}


void tc0(void) __irq
{
ausgabe();
T0IR=1;
VICVectAddr =0;
}

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du im startup-file den VIC-Vector beim IRQ eingetragen?

Vectors         LDR     PC, Reset_Addr
                LDR     PC, Undef_Addr
                LDR     PC, SWI_Addr
                LDR     PC, PAbt_Addr
                LDR     PC, DAbt_Addr
                NOP                            ; Reserved Vector
;               LDR     PC, IRQ_Addr
                LDR     PC, [PC, #-0x0FF0]     ; Vector from VicVectAddr
                LDR     PC, FIQ_Addr

Autor: let (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In dem Codeausschnitt kann ich keinen Fehler entdecken.

Sind Interrupts global aktiviert (I-Bit im CPSR)?
Benutzt du Thumb-Code? Der GCC erzeugt dann falschen Code
für die Interrupt-Handler.

Für weitergehende Analysen solltest du ein compilierbaren
Code anhängen. Sonst artet das nur in ein Ratespiel aus - sofern
überhaupt noch jemand antwortet.


 - Michael

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vorsichtshalber sollte man vorher den Counter auf 0 setzen. Oder besser 
gleich den ganzen Timer zurücksetzen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
HI Danke!die startup datei hatte gefehlt!Sowas peinliches
Thx

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.