El pin de salida del PIC no enciende el LED

1

He intentado probar mi PIC simplemente al encender un LED, verifiqué que el PIC está activado y que el pin MCLR está ALTO.

El PIC que estoy usando es el PIC18F45K22 , funcionando a 3.3 voltios.

El LED tiene un Vf de 1.8 voltios y he verificado que su polaridad es correcta. Está conectado al pin RB4 con una resistencia de 1 kΩ en serie.

No estoy seguro de qué más probar aquí. Solo tengo 1 LED conectado y eso es RB4, ¿hay algo que pueda estar impidiendo que RB4 dé la salida? ¿Hay algo más que deba configurar?

Este es mi código fuente completo:

#include <p18f45k22.h>

void main(void)
{
  ANSELB = 0;
  TRISB = 0;
  while(1)
  {
    LATBbits.LATB4 = 1;
  }
  return;
}
    
pregunta Yasu Flores

3 respuestas

2

Me parece que la configuración de tu oscilador es incorrecta. Algunos modos harán que su PIC se detenga esperando el reloj correcto. Curiosamente, he podido programar y verificar un pic32 con un oscilador roto.

  1. Asegúrese de configurar los bits de configuración correspondientes a la placa que tiene.
  2. Verifique que la placa tenga los capacitores de derivación adecuados.
  3. Si tiene acceso a un osciloscopio, verifique que el oscilador se esté ejecutando al sondear el pin impulsado (consulte la sección del oscilador de las hojas de datos de la familia PIC).
  4. También intente ejecutar con el oscilador interno.
respondido por el Mathieu L.
1

Estos, lo que tengo en mente, intentan lo siguiente: 1- Intenta usar un pin diferente, por ejemplo, portB pin3 2- reducir el valor de la resistencia que sea 450 ohmios. 3- Añadir retraso a su código. 4- Asegúrese de que está conectando el LED en una conexión alta activa (ánodo al PIC y cátodo a la GND)

    
respondido por el Sulaiman_Khan
0

Dos cosas.

1 coloca el fusible.

  1. Inicializa los pines como goio.

edita: tu código, cuando se haga correctamente.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas