Hola Pedro, no he podido probarlo esta tarde pq me he quedado sin tiempo que dedicarle, lo tendré q aplazar hasta la semana que viene, pero aun así, me parece extraño. En cualquier caso, tengo todos los demás puertos ocupados, lo único que puedo hacer es 'ver' que valor presenta el puerto en un determinado momento. Otra cosa curiosa es que al aplicarle una mascara al puerto, para eliminar RB7 y quedarme solo con RB0-RB6, si que obtengo valor.... pero es el de la mascara! :S
int valor = 0;
valor = input_b();
valor &= 0b01111111;
printf(usb_cdc_putc,"%d\r",valor);
muestra en pantalla: 127
Si no le hago la mascara lo que se muestra en pantalla es lo mismo que si hago esto:
printf(usb_cdc_putc,"%d\r",input_b());
muestra en pantalla: -1
:S:S:S Será un bug? será que la estoy liando y no se donde?... que será será....
Gracias y un saludo!