Hei,
PIC32MX795F512L
Habe das Problem, das der Core Timer seine Arbeit nach 3 bis 6min
einstellt. Er gibt mir den Tick (1ms) vor, von dem ich alle andere Ticks
ableite.
Alle benutzte Timer und Interrupts arbeiten weiter.
Am INT0 werden Rechteck Signale von 58µs, 116µs und 460µs zugeführt.
Das Problem tritt auf, wenn über INT0 RD0 Pin 72 diese Signale
anliegen. Ohne Impuls am INT0 funktioniert es.
Habe mal den Core mit dem TMR1 getauscht. Dieses funktioniert.
1 | OpenCoreTimer(CORE_TICK_RATE);
|
2 | mConfigIntCoreTimer((CT_INT_ON | CT_INT_PRIOR_2 | CT_INT_SUB_PRIOR_0));
|
3 |
|
4 | void __ISR(_CORE_TIMER_VECTOR, IPL2SOFT) CoreTimerHandler(void)
|
5 | {
|
6 | mCTClearIntFlag(); // clear the interrupt flag
|
7 | UpdateCoreTimer(CORE_TICK_RATE); // update the period
|
8 | ...
|
9 | }
|
10 |
|
11 | ConfigINT0(EXT_INT_PRI_1 | RISING_EDGE_INT | EXT_INT_ENABLE);
|
12 | INTEnable(INT_INT0, INT_ENABLED);
|
13 |
|
14 | void __ISR(_EXTERNAL_0_VECTOR, ipl1) Int0Handler(void)
|
15 | {
|
16 | IFS0bits.INT0IF = 0;
|
17 | }
|
Vielen Dank im Voraus und einen guten Rutsch.
schönen Tag