Soy nuevo en los microcontroladores Pic y recién comencé a programarlos.
Ahora mi problema radica en este código:
unsigned char i;
unsigned char firstRun;
unsigned char secondRun;
unsigned char released;
void main() {
unsigned char i;
unsigned char firstRun;
unsigned char secondRun;
unsigned char released;
i = 0;
firstRun = 1;
secondRun = 0;
released = 0;
TRISIO.B1 = 0x01;
TRISIO.B2 = 0x00;
CMCON0 = 0x07;
ANSEL = 0;
while(1){
if(firstRun == 1){
GPIO.B2 = 1;
}
}
}
¿Por qué no obtengo ninguna salida en este puerto?
Quiero que el pin se encienda, pero no lo hace.
Sé que lo he conectado directamente a la placa de pruebas.
ACTUALIZACIÓN: Estoy usando el 12f683, el compilador MicroC Pro y el IDE, y estoy programando usando el MPLAB X IPE
Ha trabajado con la línea GPIO.B2 = GPIO.B1 dentro de thw mientras que 1 bloque GPIO.B1 es entrada
Este dosent work eighter:
char firstRun;
void main() {
TRISIO.B1 = 0x01;
TRISIO.B2 = 0x00;
CMCON0 = 0x07;
ANSEL = 0;
firstRun = 1;
while(1){
GPIO.B2 = 1;
}
}
CONFIG:
Asamblea:
_main:
;Forste test.c,3 :: void main() {
;Forste test.c,4 :: TRISIO.B1 = 0x01;
BSF TRISIO+0, 1
;Forste test.c,5 :: TRISIO.B2 = 0x00;
BCF TRISIO+0, 2
;Forste test.c,7 :: CMCON0 = 0x07;
MOVLW 7
MOVWF CMCON0+0
;Forste test.c,8 :: ANSEL = 0;
CLRF ANSEL+0
;Forste test.c,10 :: firstRun = 1;
MOVLW 1
MOVWF _firstRun+0
;Forste test.c,11 :: while(1){
L_main0:
;Forste test.c,12 :: GPIO.B2 = 1;
BSF GPIO+0, 2
;Forste test.c,13 :: }
GOTO L_main0
;Forste test.c,14 :: }
L_end_main:
GOTO $+0