Autor Tema: codigo ccs no funciona no responde a las condiciones  (Leído 6359 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #15 en: 13 de Abril de 2013, 21:23:27 »
Segun veo de pasada en tu codigo que tu lees el adc lo divides por 2 luego lo alamacenas en una variable tipo float y finalmente comparas sino estoy equivocado.
Lo que yo digo es que leas el adc lo cargas el valor en un long, despues comparas con los otros long y de alli mandas a activar el pin que desees y luego el long que quieras utilizar del resultado de la comparacion los pasas a float para por ejemplo presentarlo en la lcd  :mrgreen:
El uso de float para realizar comparaciones no es aconsejable por la falta de presicion de estos y porque ademas para el pic es desastrozo porque se come la memoria.
Otra solucion ya algo desesperada usar un co prosesador matematico que haga el trabajo sucio  :D  de la comparaciones con float si es que se puede   :mrgreen:

Nota: el enlace que te deje explica el porque no usar o como usar los float con un truquito  :mrgreen:

Se me prendio el bombillo  :D
Y si en vez de hacer esto:
Citar
if ((float)temperaturadecimal < temperatura1)
output_high(pin_B0);
else
output_low(pin_B0);

Haces esto:
Citar
if (((float)temperaturadecimal - temperatura1)<0)
output_high(pin_B0);
else
output_low(pin_B0);
Que te parece  :mrgreen:

Saludos
« Última modificación: 13 de Abril de 2013, 21:33:47 por RALF2 »

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #16 en: 13 de Abril de 2013, 21:34:13 »
Gueno  :mrgreen: ahora a leer entonces y gracias por tu respuesta y a bmb gracias tambien por su ayuda!!!! es bueno encontrar gente como ustedes dispuesta a enseñar sin ningun veneficio solo el de aprender a enseñar a burros como yo  :oops:!!

ha me olvidava como ago para tener dos pines en estado alto si se cumple esta condicion?? dentro del while (true)

IF (temperaturadecimal > temperatura0)
        output_high(pin_B0);
     ELSE
        output_low(pin_B0);
 
     IF (temperaturadecimal > temperatura1)
        output_high(pin_B1);
     ELSE
        output_low(pin_B1);

saludos!
« Última modificación: 13 de Abril de 2013, 21:37:38 por Mikro-77 »
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #17 en: 13 de Abril de 2013, 21:35:55 »
Prueba con lo que te coloque arriba y me dices que paso  ;-)

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #18 en: 13 de Abril de 2013, 21:39:23 »
y lo voy a hacer amigo pero primero me gustaria sacar todos los errorcitos  :mrgreen: como ago para que dos pines se pongan en estado alto si se cumple

IF (temperaturadecimal > temperatura0)
        output_high(pin_B0);
     ELSE
        output_low(pin_B0);
 
     IF (temperaturadecimal > temperatura1)
        output_high(pin_B1);
     ELSE
        output_low(pin_B1);

dentro del while?
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #19 en: 13 de Abril de 2013, 21:48:03 »
Asi:

IF ((temperaturadecimal > temperatura0) $$ (temperaturadecimal > temperatura1)> 0)  
{        
       output_high(pin_B0);
       output_high(pin_B1);
}
else
{        
       output_high(pin_B2);
       output_high(pin_B3);
}

Otro detalle quita los (float) que no hacen falta ya que las variables estan declaradas como float  :mrgreen:
« Última modificación: 13 de Abril de 2013, 22:16:48 por RALF2 »

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #20 en: 13 de Abril de 2013, 22:08:24 »
 :( no funciona! necesito que las operaciones sean independientes una de otra! osea tendria que estar en estado alto ya sea uno u otro o los dos juntos o no encender si las condiciones no se cumplen algo asi decia!

                            B0=   si
                            B1=   si
                          
                            B0=   no
                            B1=   no

                            B0=   no
                            B1=   si

                            B0=   si
                            B1=   no
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #21 en: 13 de Abril de 2013, 22:17:45 »
Revisa atras ya lo corregi  :mrgreen:

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #22 en: 13 de Abril de 2013, 22:32:56 »
los signos $$ son and ?? estoy con ccs  :mrgreen:
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #23 en: 13 de Abril de 2013, 22:40:57 »
Son && para and y || es para or.
Se utilizan para las comparaciones.
En el foro hay un link que te explica el CCs yo que tu lo revisaria.   :mrgreen:

Ahora bien en cuanto a tu problema inicial, yo hice un programa utilizando float y me funciono perfectamente claro quitando el (float) que tu utilizas.  :shock:

Es estraño que te de problemas, de todas formas prueba como te coloque arriba  :mrgreen:
Nota: Yo utilice un pic18f252 para las pruebas que hice, te recomendaria que te cambiaras a la serie 18 que no te dara los problemas que comentas  :mrgreen:  por ejemplo el pic18F452 es el Hermano mayor del pic16F877A por decirlo asi  :-/

Saludos
« Última modificación: 13 de Abril de 2013, 22:47:03 por RALF2 »

Desconectado bmb

  • PIC18
  • ****
  • Mensajes: 423
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #24 en: 13 de Abril de 2013, 22:45:25 »
Hola, los signos para AND son: &&

Saludos!

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #25 en: 14 de Abril de 2013, 00:08:15 »
ilegal character in input file 0x24  :? eso me dice el compilador pero debe ser una tonteria ya me fijo para ver si anda! correcto && es and! gracias, pero de todas maneras solo se queda un pin en estado alto! me podrias pasar tu ejemplo ralf2?
« Última modificación: 14 de Abril de 2013, 00:46:13 por Mikro-77 »
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #26 en: 14 de Abril de 2013, 01:15:12 »
segun que pretendo que aga en cada if tendre que usar output_B(0b00000000); hasta output_B(0b11111111); es lo mas recomendable y me funciona bien pero como consejo no por mi experiencia pero si por lo que vi en varios foros hay que usar la gama 18f para evitar dolores de cabeza! yo estoy rompiendome la cabeza porque me gusta renegar y porque sabado a la noche es un poquito dificil comprar un pic  :mrgreen:
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado RALF2

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2060
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #27 en: 14 de Abril de 2013, 06:10:39 »
Citar
porque sabado a la noche es un poquito dificil comprar un pic  Mr. Green

Yo por eso tengo varios modelos en el botiquin de primeros auxilios   :D

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #28 en: 14 de Abril de 2013, 08:52:11 »
 Hola buen dia ! yo tambien tengo algunos mas grandes en capacidad de memoria pero ninguno con la cantidad de pines como para hacer esto!  :mrgreen: disculpas termine de escribir y fui a fijarme y tengo un 18f4520 que debe tener como 4 años juntando polvillo  :-/ :-/ :D
« Última modificación: 14 de Abril de 2013, 08:55:07 por Mikro-77 »
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

Desconectado Mikro-77

  • PIC12
  • **
  • Mensajes: 93
Re: codigo ccs no funciona no responde a las condiciones
« Respuesta #29 en: 14 de Abril de 2013, 09:15:25 »
ahora con ese pic 18f4520 no me deja usar # device *=16 ni # device adc=10 porque no puedo usarlos y como puedo repara el codigo?
// si quieres entender el universo, piensa en energia, frecuencia y vibración. Nikola Tesla.

// Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.


 

anything