Forum: Compiler & IDEs PIC Interrupt Timer1 läuft nicht


von Patrick B. (p51d)


Lesenswert?

hallo mitienander

Ich versuche gerade krampfhaft einen Interrupt bei den PIC's zum laufen 
zu bringen, doch leider läuft nichts so wie es sollte.
Ich nutze den CCS-Compiler und eigentlich mache ich alles so wie bei dem 
Help-File beschrieben, aber beim brennen mit dem Brenner 8P von sprut 
bekomme ich beim Flash einen Fehler.

hier ist der code
1
void SysInit(void){
2
   setup_timer1(TMR_INTERNAL | TMR_DIV_BY_1);
3
   enable_interrupts(INT_TIMER1);
4
   set_timer(65535 - 128);
5
}
6
#int_TIMER1
7
void TIMER1_isr(void){
8
   clear_interrupt(INT_TIMER1);
9
   output_toggle(PIN_C13);
10
}
11
//*************************************************************************
12
// Hauptfunktion
13
void main(){
14
   SysInit();
15
   for(;;){
16
17
   }
18
}

könnt ihr mir etwas auf die Beine helfen, da ich das Gefühl habe vor 
lauter Bäume den Wald nicht mehr zu sehen?
könnten die Fuses Einfluss auf die Interrupts haben?
denn selbst einen externen Interrupt läuft nicht. Der Compiler spuckt 
zwar keine Fehler aus aber beim Prozessort tut sich nichts.

Danke für die Hilfe
MFG
P51D

von Peter D. (peda)


Lesenswert?

Patrick B. schrieb:
> aber beim brennen mit dem Brenner 8P von sprut
> bekomme ich beim Flash einen Fehler.

Dann ist es normal, daß das Programm nicht läuft.

Es ist aber unklug, die Fehlermeldung zu verschweigen, Foren habens 
nicht so mit Hellsehen.

Ich glaube auch, daß Dein Problem in Foren besser aufgehoben ist, die 
sich mit Deinem Compiler und Brenner auskennen.


Peter

von PICCS (Gast)


Lesenswert?

Die Interrupts müssen noch freigeschaltet werden :

enable_interrupts(GLOBAL);

von Patrick B. (p51d)


Lesenswert?

die Fehlermeldung die angezeigt wird beschränkt sich nur auf folgendes:

> -- HEX-file re-loaded
> -- use manual Config-settings
>
> Erase PIC -finished
> Start to program FLASH## 1 error(s)
> Start write Configuration - ok

Mehr weiss ich leider nicht

@PICCS

hab ich versucht:
1
//*************************************************************************
2
// Externe Dateien einbinden
3
#include "F:\projekte\dac_v3\c_source\int\main.h"
4
5
//*************************************************************************
6
// Funktionen
7
void SysInit(void){
8
   setup_timer1(TMR_INTERNAL | TMR_DIV_BY_1);
9
    
10
   set_tris_c(0x9FF9);                    // LEDs Output
11
   
12
   enable_interrupts(INT_TIMER1);
13
   enable_interrupts(INTR_GLOBAL);
14
   set_timer1(65335 - 128);
15
}
16
#int_TIMER1
17
void TIMER1_isr(void){
18
   output_toggle(PIN_C13);
19
   clear_interrupt(INT_TIMER1);
20
}
21
//*************************************************************************
22
// Hauptfunktion
23
void main(){
24
   SysInit();
25
   for(;;){
26
27
   }
28
}

Ich kann mir aber beim besten Willen nicht vorstellen, dass das Problem 
irgenwie bei dem Brenner liegen kann (ausser er schreibt das Zeug 
irgenwohin, nur nicht mehr da wo es sein sollte)

Peter schrieb:
> Ich glaube auch, daß Dein Problem in Foren besser aufgehoben ist, die
> sich mit Deinem Compiler und Brenner auskennen.
Weisst du ein anderes Forum, da es nicht am Compiler liegt, müsste es 
ein Forum sein wo der Brenner bekannt ist.

Danke für die Antworten
MFG
Patrick

von Peter D. (peda)


Lesenswert?

Patrick B. schrieb:
>> Start to program FLASH## 1 error(s)

Das ist unbrauchbar.
Vielleicht gibts noch ein Outputfenster oder Statuszeile, wo mehr 
drinsteht.
Beim AVRStudio ist das so.

Für PIC-Probleme schau mal bei Sprut oder Heitor nach.


Peter

von Patrick B. (p51d)


Lesenswert?

leider habe ich bis jetzt keine weiteren Ausgabe-Informationen gefunden.

Habe mich aber mit Sprut in Verbindung gesetzt.

Danke nochmals für die Antworten.

MFG
Patrick

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.