Hola perdón la tardanza, lo declare en el main pero el compilador no me deja hacerlo, creo que no se puede muestra esto:
Error [1510] CounterA cannot have 'extern' storage class, block scope, and an initializer
Error [1510] CounterB cannot have 'extern' storage class, block scope, and an initializer
Error [1510] CounterC cannot have 'extern' storage class, block scope, and an initializer
Halting build on first failure as requested.
o esto:
This feature is not implemented in compiler. There may be a definition of external symbol 'CounterC' found instead of its declaration
Al parecer no quiere que loa llame como extern en la función, ya que si no lo pongo así dice que no existe.
La única forma de que funcione es así:
void Delay_5s(void) {
unsigned char CounterA=0, CounterB=0, CounterC=0;
_asm
movlw 117
movwf CounterC,0 //0=Access RAM
movlw 226
movwf CounterB,0 //0=Access RAM
movlw 195
movwf CounterA,0 //0=Access RAM
loop:
decfsz CounterA,1,0 //0=Access RAM
goto loop
decfsz CounterB,1,0 //0=Access RAM
goto loop
decfsz CounterC,1,0 //0=Access RAM
goto loop
// retlw 0x00
_endasm
}
Otra pregunta, no se si notaron el "retlw 0x00" al final, debe ir? ya que si lo coloco parte del programa se pone "loco" pero si no andanda todo bien!.
Saludos