Soy nuevo en microchip pero construí un circuito con PIC12F629 y escribí este programa:
#include <xc.h>
#define _XTAL_FREQ 20000000
#pragma config WDTE=OFF , BOREN=OFF , PWRTE=ON , MCLRE=OFF , FOSC=INTRCIO
void main(){
TRISIO = 0;
GPIO = 0;
while(1){
__delay_ms(1000);
GP0 = 1;
__delay_ms(1000);
GP0 = 0;
}
}
Lo compilo con XC8 MPLAB X y transfiero el archivo hexadecimal al chip, luego conecto el pin num1 al voltaje positivo y el pin número 8 a tierra, luego el pin num7 (GP0) al lado positivo del led y al otro lado de LED.
El circuito no funciona, ¿cómo podría arreglarlo? No tengo tiempo en el código, ¿alguna idea?
- Mido el voltaje en los lados del LED, es aproximadamente 1 pero el voltaje entrante es aproximadamente 5.
También eliminé todos los tiempos para el GPO liviano todo el tiempo, pero aún así no tuve suerte:
#include <xc.h>
//#define _XTAL_FREQ 20000000
#pragma config WDTE=OFF , BOREN=OFF , PWRTE=ON , MCLRE=OFF , FOSC=INTRCIO
void main(){
//init GPIO pins
TRISIO = 0;
GPIO = 0;
while(1){
// __delay_ms(1000);
GP0 = 1;
//__delay_ms(1000);
//GP0 = 0;
}
}
Actualizar
Extrañamente funcionó al agregar voltaje positivo primero y segundo negativo en el circuito, ¿alguna idea de por qué? ¡Incluso funciona simplemente conectando a tierra el pin3! Creo que necesita algo en el circuito.