Hola buenas noches.
El otro día me compre un ICD-U64 Debugger/Programmer. a Mousser.
E conseguido programar pero no e podido debuggear.
E realizado un pequeño programa para probarlo y un circuito muy simple para hacerlo funcionar.
Al querer debuggear me sale un error indicándome que hay un error en mclr o en oscilador físico o en el fuse.
Lo e comprobado todo (Creo) y todo lo veo bien.
Le e añadido la lineas:
#device ICD=TRUE
#FUSE DEBUG.
Lo e probado en dos sistemas operativos diferentes con windows xp 32bits y windows 7 64bits.
otro problema que e visto, es en cssload que al comprobar el oscilador, cuando es mayor 8Mhz no lo detecta bien y me indica que tengo uno de 1Mhz.
La versión del compilador es: 4.124
Lo e Probado con el pic16f877a y con el pic18f4520 y con diferentes osciladores de 4mhz, 8mhz, 10mhz. siempre con el mismo resultado
Adjunto el circuito que e echo y programilla que e echo. Haber si me podéis ayudar.
#include <18F4520.h>
#device ICD=TRUE
#FUSES DEBUG
#FUSES NOWDT //No Watch Dog Timer
#FUSES WDT128 //Watch Dog Timer uses 1:128 Postscale
#FUSES xt //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV27 //Brownout reset at 2.7V
#FUSES NOPBADEN //PORTB pins are configured as digital I/O on RESET
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#use delay(clock=4Mhz) //poner el oscilador interno a 4Mhz
#BYTE TRISA = 0xF92
#BYTE TRISB = 0xF93
#BYTE TRISC = 0xF94
#BYTE TRISD = 0xF95
#BYTE TRISE = 0xF96
#BYTE PORTA = 0XF80
#BYTE PORTB = 0XF81
#BYTE PORTC = 0XF82
#BYTE PORTD = 0XF83
#BYTE PORTE = 0XF84
void main(){
trisc=0;
Portc=0;
While(true){
while(portc<=0b01000000){
portc=portc*2;
delay_ms(1000);
}
while(portc>=0b01000000){
portc=portc/2;
delay_ms(1000);
}
}
}