Pic32 Interrupt olika fort i olika projekt

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
ABC123
Inlägg: 49
Blev medlem: 12 oktober 2008, 19:37:04
Ort: Göteborg
Kontakt:

Pic32 Interrupt olika fort i olika projekt

Inlägg av ABC123 »

Nedanstående kod ("rinnande ljus" på de 3 lysdioder som finns på pic32 starter kit-kretskortet) i 2 olika projekt. När jag kör det ena projektet rinner ljuset med ca 5 Hz och i det andra 0.3 Hz. (ungefär, ej mätt exakt)

Då är frågan vad som orsakar denna skillnad? Som sagt koden identisk (nedan) i båda projekt, maskinkoden ser också identisk ut så långt jag kan se.

Ett mysterium är vad som sker över den USB-anslutning som är till kortet. Jag har inte inkluderat några debuggninggrejjer (db_utils.h).

Kod: Markera allt

#include <plib.h>

#define CORE_TIMER_PERIOD 2000000

// Håll koll på vilken LED som lyser för tillfället
int cnt=5;

int main(void)
{
	// Initiera LED på kretskortet
	mPORTDSetPinsDigitalOut(BIT_0);
	mPORTDClearBits(BIT_0);
	mPORTDSetPinsDigitalOut(BIT_1);
	mPORTDClearBits(BIT_1);
	mPORTDSetPinsDigitalOut(BIT_2);
	mPORTDClearBits(BIT_2);

	// Sätt upp avbrottsvektor
	OpenCoreTimer(CORE_TIMER_PERIOD);
	mConfigIntCoreTimer((CT_INT_ON | CT_INT_PRIOR_2 | CT_INT_SUB_PRIOR_0));
	INTEnableSystemMultiVectoredInt();
   	return 0;
}

void __ISR(_CORE_TIMER_VECTOR, ipl2) CoreTimerHandler(void)
{
	cnt++;
	cnt%=6;
	mCTClearIntFlag(); // nolla avbrottsflagga
	switch(cnt)
	{
		case 0:
		case 1:mPORTDToggleBits(BIT_2); break;
		case 2:
		case 3:mPORTDToggleBits(BIT_0); break;
		case 4:
		case 5:mPORTDToggleBits(BIT_1); break;
	}
	UpdateCoreTimer(CORE_TIMER_PERIOD); 
}
sodjan
EF Sponsor
Inlägg: 43247
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping

Re: Pic32 Interrupt olika fort i olika projekt

Inlägg av sodjan »

Det är någon skillnad...
Användarvisningsbild
Icecap
Inlägg: 26628
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Re: Pic32 Interrupt olika fort i olika projekt

Inlägg av Icecap »

Ser ingen CONFIG-beskrivning, har inte kollat om det finns på de PIC men skulle tro det när det finns på alla andra. Skulle gissa att det även finns en skillnad i någon klocka-inställning...

5Hz / 0,3Hz = 16(,66666)

Kunde fint vara någon prescaler någonstans, just 16* skillnad är en stark indikator.
ABC123
Inlägg: 49
Blev medlem: 12 oktober 2008, 19:37:04
Ort: Göteborg
Kontakt:

Re: Pic32 Interrupt olika fort i olika projekt

Inlägg av ABC123 »

Konfiguration säger du ....
Såg nu att inte en siffra var rätt under "configuration bits" ...
Nu fungerar allting som det ska ...
Skriv svar