Autor Tema: Problema con PIC16F13115 y GPIO que no cambia de estado.  (Leído 12240 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado jonathanPIC888

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 326
Problema con PIC16F13115 y GPIO que no cambia de estado.
« en: 12 de Marzo de 2026, 20:23:47 »
Buenas tardes estimados.

Tengo que migrar un pequeño proyecto al PIC16F13115, del PIC12F1840 que estoy usando actualmente.

El único problema que tengo en toda la migración, es la salida RA5, que no cambia de estado.

El código que estoy utilizando para probar es el siguiente:

Código: [Seleccionar]
#INCLUDE <16F13115.h>

#FUSES WDT                    // Utilizamos el perro guardián.
#FUSES PUT_64MS               // Habilita el power uP timer en 64ms.
#FUSES NOMCLR                 // Utilizamos el pin MCLR como E/S.
#FUSES PROTECT                // Proteje el código del microcontrolador.
#FUSES NOBROWNOUT             // No hay reset por bajo voltaje.     
#FUSES NOCLKOUT               // Utiliza los pines de clk como E/S.           
#FUSES FCMEN                  // Monitor de falla de clock.                 
#FUSES NOWRT                  // No hay protección de registros especiales.
#FUSES STVREN                 // Si la pila se llena, generará un reset.     
#FUSES NODEBUG                // No utilizaremos código de debug.
#FUSES WDT2048                // Utilizamos el perro guardián cada 2 segundos.
#FUSES NOLVP                  // No utilizaremos programación a bajo voltaje.
#FUSES NOBOOTBLOCK            // No deja espacio para el booteo.

#USE delay (Clock = 32000000,restart_wdt) // Reloj = 32Mhz.


//------------------------------------------------
// Inicialización
//------------------------------------------------ 

void Inicializacion(void)
{

   setup_oscillator(OSC_HFINTRC_32MHZ);

   output_a(0x00);
   delay_ms(100);
   setup_wdt(WDT_2S);
}

//------------------------------------------------
// MAIN
//------------------------------------------------

void main()
{

Inicializacion();
setup_adc_ports(NO_ANALOGS);

   while(TRUE) {
      output_high(PIN_A5);
      delay_ms(500);
      output_low(PIN_A5);
      delay_ms(500);
      restart_wdt();
   }

}

Alguien tiene idea donde le puedo estar escapando. Vi la hoja de datos, consulté a la IA, etc. Pero no doy con la tecla.
Creia que era un error del CCS, pero los registros afectados que se ven en el archivo ensamblador, están ok.

Saludos !

Desconectado jonathanPIC888

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 326
Re:Problema con PIC16F13115 y GPIO que no cambia de estado. (SOLUCIONADO)
« Respuesta #1 en: 13 de Marzo de 2026, 00:03:51 »
La solución está en colocar la siguiente línea de configuración:

Código: [Seleccionar]
#FUSES RSTOSC_HFINTRC_32MHZ   // Oscilador interno con PLL a 32Mhz.
#FUSES NOCLKOUT               
#FUSES NOEXTOSC               // No utilizamos el oscilador externo.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:Problema con PIC16F13115 y GPIO que no cambia de estado.
« Respuesta #2 en: 17 de Marzo de 2026, 17:54:47 »
Hace tiempo que no programo en CCS, pero si sigues teniendo problemas puedes añadir la siguiente línea y ver que pasa:
setup_oscillator(osc_8mhz | OSC_PLL_ON);
Saludos desde Granada, España.

Desconectado jonathanPIC888

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 326
Re:Problema con PIC16F13115 y GPIO que no cambia de estado.
« Respuesta #3 en: 21 de Marzo de 2026, 19:30:02 »
Ahi lo pude solucionar dogflu66, era un problema de fusibles mal configurados. Saludos !


 

anything