Autor Tema: MikroC  (Leído 3388 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado letxu2

  • PIC10
  • *
  • Mensajes: 10
MikroC
« en: 08 de Mayo de 2007, 13:34:55 »
Hola, estoy descubriendo mikroC, y os parecera una chorrada, pero no soy capaz de capturar cuando se pulsa un pulsador.
Creo haberlo probado todo, esta bien configuradas las entradas. este es el codigo que he escrito:
                if(PORTDbits.RD0)
                  {
                        if (temperaturaPilotoInterno>16||temperaturaPilotoInterno<25)   {
                         temperaturaPilotoInterno=temperaturaPilotoInterno+1;
                         IntToStr(temperaturaPilotoInterno,mensajeTempPilotoInterno);
                         T6963C_write_text(mensajeTempPilotoInterno,23, 2, T6963C_ROM_MODE_XOR) ;
                          }
                Delay_ms(300) ;
         }

Podria alguien echarme una mano?? Muchas gracias

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18310
    • MicroPIC
Re: MikroC
« Respuesta #1 en: 09 de Mayo de 2007, 02:03:00 »
¿Sólo te falla esa parte del programa y el resto funciona, o el micro no hace nada?. Habría que ver más partes del programa y un esquema de tu circuito para intentar aproximar una solución.

A pesar de eso, sí que he descubierto algo raro en tu programa:
if (temperaturaPilotoInterno>16||temperaturaPilotoInterno<25)   {

Esa condición será cierta SIEMPRE, puesto que has utilizado el operador || (OR) en lugar de && (AND).
Yo lo pondría así:
if  ((temperaturaPilotoInterno>16) && (temperaturaPilotoInterno<25))   {

Por cierto, creo que tu programa ganaría bastante en "legibilidad" si utilizaras más los espacios en blanco.

Desconectado letxu2

  • PIC10
  • *
  • Mensajes: 10
Re: MikroC
« Respuesta #2 en: 09 de Mayo de 2007, 06:26:28 »
Si el resto el programa funciona perfectamente, lo unico q no hace es entrar en el if cada vez que se pulsa el pulsador. gracias por lo de la condicion. El problema q tengo es q no se si lo de PORT<> es correcto para detectar q se ha pulsador el pulsador.gracias

Desconectado Milo

  • PIC16
  • ***
  • Mensajes: 101
Re: MikroC
« Respuesta #3 en: 11 de Mayo de 2007, 15:19:50 »
Buennass:

Yo no programo en MikroC, no se como es tu programa pero a lo mejor necesitas meter el if dentro de un while para esperar ese evento en el puerto RD0 para que no se pase la instrucción, otra opción que tienes es programar alguna interrupción de ese puerto. Espero haberte ayudado,

suerte,
"En tanto que haya alguien que crea en una idea, la idea vive" Ortega y Gasset