Sida 1 av 1

Pic32 Interrupt olika fort i olika projekt

Postat: 28 januari 2009, 11:28:27
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); 
}

Re: Pic32 Interrupt olika fort i olika projekt

Postat: 28 januari 2009, 11:50:36
av sodjan
Det är någon skillnad...

Re: Pic32 Interrupt olika fort i olika projekt

Postat: 28 januari 2009, 12:00:43
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.

Re: Pic32 Interrupt olika fort i olika projekt

Postat: 28 januari 2009, 15:29:16
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 ...