PIC32 konstigheter [LÖST]

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46978
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

PIC32 konstigheter [LÖST]

Inlägg av TomasL »

Har råkat ut för en konstig sak, portskrivningar verkar inte fungera riktigt i release-kod, men funkar helt ok i debug-kod

till exempel följande rad skall blinka en LED
PORTToggleBits(LEDPORT, LEDBIT);

Det funkar i debug-kod men inte i releasekod.

Nån som råkat út för något liknande?
Senast redigerad av TomasL 10 februari 2013, 13:46:51, redigerad totalt 1 gång.
Användarvisningsbild
Andax
Inlägg: 4379
Blev medlem: 4 juli 2005, 23:27:38
Ort: Jönköping

Re: PIC32 konstigheter

Inlägg av Andax »

Det är ingen volatile deklaration som ramlat bort? Då kan ju optimeraren ta bort uttryck som inte verkar användas någon annanstans.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46978
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: PIC32 konstigheter

Inlägg av TomasL »

Ja, funderade på det, men alla io'n skall vara volatila, det är ju nånting mchip har i sina processorinkludes.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46978
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: PIC32 konstigheter

Inlägg av TomasL »

Verkar som att vi hittayt en möjlig lösning, men det ger sig i morgon.

Pinnarna som inte vill fungera verkar vara knutna till JTAG, och tydligen är den påslagen per default, och tar över pin-funktionen i release mode, dock inte i debug mode.
Det funktioner som inte vill funka är alla knutna till JTAG-pinnarna, på ett eller annat sätt.
Användarvisningsbild
TomasL
EF Sponsor
Inlägg: 46978
Blev medlem: 23 september 2006, 23:54:55
Ort: Borås
Kontakt:

Re: [LÖST] PIC32 konstigheter

Inlägg av TomasL »

Problemet är löst, det var JTAG som spökade, mchip har uppenbarligen glömt att tala om i databladen att den är påslagen "by default", och måste slås av genom att skriva till dess kontrollregister.
I debug-mode är den avslagen, så detta problem existerar enbart i release-kod.
Skriv svar