Bonjour,
C'est à propos d'un problème oscillateur interne (FRC) de mon dsPIC33EP512MU810 .
J'ai un ICD3 avec les versions à jour (programmateur et logiciel).
Lorsque je lance le programme, en mode Debug, il s'arrête sur __builtin_write_OSCCONL(0x01); (target halted)
Je pense que mon oscillateur interne chauffe et arrête mon dsPIC33EP512MU810.
La configuration de l'oscillateur : copie - coller du manuel de référence du dsPIC33EP512MU810 Microchip (Section 7. Oscillator)
Voici mon code :
#ifndef __DEF__
#include "def.h"
#endif
// Select Internal FRC at POR
_FOSCSEL(FNOSC_FRC);
// Enable Clock Switching and Configure Primary Oscillator in XT mode
_FOSC(FCKSM_CSECMD & OSCIOFNC_OFF & POSCMD_XT);
_FWDT(FWDTEN_OFF)
_FICD(ICS_PGD1 & JTAGEN_OFF)
int main(void)
{
//-------------------------------------------------------------------------------------
// Configurationd de l'oscillateur
//-------------------------------------------------------------------------------------
// Configure PLL prescaler, PLL postscaler, PLL divisor
PLLFBD=63; // M=65
CLKDIVbits.PLLPOST=0; // N2=2
CLKDIVbits.PLLPRE=0; // N1=2
// Initiate Clock Switch to FRC oscillator with PLL (NOSC=0b001)
__builtin_write_OSCCONH(0x01);
__builtin_write_OSCCONL(0x01);
// Wait for Clock switch to occur
while (OSCCONbits.COSC!= 0b001)
// Wait for PLL to lock
while (OSCCONbits.LOCK!= 1) {};
//-------------------------------------------------------------------------------------
// Oscillateur configuré
//-------------------------------------------------------------------------------------
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
// PROGRAMME PRINCIPALE
//-----------------------------------------------------------------------------
//-----------------------------------------------------------------------------
while(1)
{
}
}
Merci pour votre aide.
Salutations
-----