Microchip Technology PICkit 3 Starter Kit DV164130 DV164130 사용자 설명서

제품 코드
DV164130
다운로드
페이지 98
PICkit™ 3 User’s Guide
DS51795A-page 38
© 2009 Microchip Technology Inc.
• Will the PICkit 3 slow down the running of the program?
No, the device will run at any device speed as specified in the data sheet.
• Is it possible to debug a dsPIC DSC running at any speed?
The PICkit 3 is capable of debugging at any device speed as specified in the 
device’s data sheet.
• What is the function of pin 6, the LVP pin?
Pin 6 is reserved for the LVP (Low-Voltage Programming) connection. 
7.3
WHAT’S WRONG
• My PC went into power-down/hibernate mode, and now my debugger won’t 
work. What happened?
When using the debugger for prolonged periods of time, and especially as a 
debugger, be sure to disable the Hibernate mode in the Power Options Dialog 
window of your PC’s operating system. Go to the Hibernate tab and clear or 
uncheck the “Enable hibernation” check box. This will ensure that all 
communication is maintained across all the USB subsystem components.
• I set my peripheral to NOT freeze on halt, but it is suddenly freezing. What's 
going on?
For dsPIC30F/33F and PIC24F/H devices, a reserved bit in the peripheral control 
register (usually either bit 14 or 5) is used as a Freeze bit by the debugger. If you 
have performed a write to the entire register, you may have overwritten this bit. 
(The bit is user-accessible in Debug mode.)
To avoid this problem, write only to the bits you wish to change for your application 
(BTS, BTC) instead of to the entire register (MOV).
• When using a 16-bit device, an unexpected reset occurred. How do I 
determine what caused it?
Some things to consider:
- To determine a reset source, check the RCON register.
- Handle traps/interrupts in an Interrupt Service Routine (ISR). You should 
include trap.c style code, i.e.,
   void __attribute__((__interrupt__)) _OscillatorFail(void);
          :
   void __attribute__((__interrupt__)) _AltOscillatorFail(void);
          :
   void __attribute__((__interrupt__)) _OscillatorFail(void)
   {
        INTCON1bits.OSCFAIL = 0;        //Clear the trap flag
        while (1);
   }
          :
   void __attribute__((__interrupt__)) _AltOscillatorFail(void)
   {
        INTCON1bits.OSCFAIL = 0;
        while (1);
   }
          :
- Use ASSERTs.