Estimados,
nuevamente renegando por aca con los micros, tengo un problemilla concreto en el puerto E, en el mismo tengo mapeados un led para PWONLED y hacer de baliza de mi equipo en modo sleep y dos botones estarian asi dispuestos
RE0 ----- BOTON +
RE1 ----- BOTON -
RE2 ----- LED_ON
El led anda perfecto, pero cuando quiero presionar algun boton no me responde de entrada configure el puerto E, asi:
TRISE = 0x60;
y luego en el codigo hago esto:
CASE 0: //Muestra de temperatura.
lcd_putc("\f");
delay_ms(10);
lcd_putc ("TEMPERATURA");
set_adc_channel(2); //Habilitación canal 2
delay_us(20); //por seguridad esperamos 20us antes de leer
q = read_adc(); //Lectura canal 2
p = 0.65 * q / 133.0; //Conversión a tensión
//p = ((65/133) * q) - (5190/19);
t = 0.48872 * q - 273.1578947 ; //Conversión a tensión
lcd_gotoxy (1,2);
printf(lcd_putc, "AD=%3ld T=%01.2fC", q, t); //imprimo numero de muestras y temperatura
lcd_gotoxy (21,1);
lcd_putc (" Min:00.0C|Max:00.0C");
lcd_gotoxy (21,2);
lcd_putc("<< 00:00 |00:00 >>");
if (bit_test (PORTE, 0) )
{
delay_ms(100); //anti-rebote por software
if (bit_test (PORTE, 0) )
SELECCION = 1; //si presiono "+"
}
if (bit_test (PORTE, 1) )
{
delay_ms(100);
if (bit_test (PORTE, 1) )
SELECCION = 7; //si presiono "-"
}
delay_ms(100);
BREAK;
Con esto yo implemento un menu tipo scroll que corre a derecha o a izquierda dentro de un SWITCH que evalua la variable seleccion y entra en cada menu dependiendo del valor que tenga SELECCION, pero por algun motivo, al presionar los botones no se actualiza la variable, sigo renegando si consigo hacerlo andar subo la respuesta, instale hace poco el CCS 5.025 y me estoy familiarizando con estos micros, antes usaba un 18F452 y funcionaba todo correcto, tengo la impresion que me esta faltando algun tipo de configuracion en este maldito puerto jeje
