Autor Tema: Condicional de una funcion  (Leído 2648 veces)

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

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Condicional de una funcion
« en: 15 de Enero de 2014, 19:04:28 »
Un saludos a todos, bueno estoy aprendiendo c, y estoy revisando varios libros orientados y no orientados a pic's; bueno mi duda es sobre la lógica de la sentencia 'if-else', y sobre el valor lógico de una función, es decir, si yo tengo una función: unsigned int comando_de_entrada() , que me devuelve valores enteros de acuerdo a los parámetros ingresados por teclado o leídos por un puerto del PIC, ademas si escribo:

                                                          if(comando_de_entrada())
                                                            {hacer algo;
                                                             }

como se interpreta esta parte del código?, entiendo que la condición del 'if' tiene un valor TRUE o FALSE, pero, ¿como es que la función comando_de_entrada() asume uno de estos valores?(TRUE o FALSE); sucede con el solo hecho de ejecutarse para ser TRUE?, si no se ejecuta es FALSE?, porfavor alguien que me pueda ayudar, seria de gran soporte

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: Condicional de una funcion
« Respuesta #1 en: 15 de Enero de 2014, 20:09:13 »
Es asi:

si devuelve 0 es FALSE
si devuelve algo distinto de 0 es TRUE

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Condicional de una funcion
« Respuesta #2 en: 15 de Enero de 2014, 21:13:19 »
  También te puede interesar evaluar cualquier otro valor devuelto por tu función, por ejemplo...

Código: C
  1. if (comando_de_entrada() == 5)
  2. {
  3.   hacer cosas
  4. }
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Re: Condicional de una funcion
« Respuesta #3 en: 16 de Enero de 2014, 17:50:44 »
Gracias por sus respuestas, en el caso del uso del modulo USART de algunos PIC's, cuando escribo:

unsigned int trabajar_con_usart()
{
  if (!BusyUsart())
  {
    tarea1;
  }
  return 0;
}

if(trabajar_con_usart)
{
 tarea2;
}

¿Quiere decir que cuando el modulo USART este ocupado la funcion 'trabajar_con_usart' retornara el valor '0'? y no se ejecutará la 'tarea 2'? y si en el caso 'else' de la sentencia 'if' contenida en la función no coloco return 0, que valor devuelve la función?

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Condicional de una funcion
« Respuesta #4 en: 16 de Enero de 2014, 19:07:09 »
Gracias por sus respuestas, en el caso del uso del modulo USART de algunos PIC's, cuando escribo:

unsigned int trabajar_con_usart()
{
  if (!BusyUsart())
  {
    tarea1;
  }
  return 0;
}

if(trabajar_con_usart)
{
 tarea2;
}

¿Quiere decir que cuando el modulo USART este ocupado la funcion 'trabajar_con_usart' retornara el valor '0'? y no se ejecutará la 'tarea 2'? y si en el caso 'else' de la sentencia 'if' contenida en la función no coloco return 0, que valor devuelve la función?

 Antes que nada, intenta colocar el código con la opción GeSHi en el editor de mensajes.
Exacto, si devuelve 0, tarea2 no es ejecutada. En el compilador XC... si no colocas sentencia "return" a una función que tiene que devolver un valor, te generará o un warning o un error indicando que una función que debería devolver un valor, no lo está haciendo.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Condicional de una funcion
« Respuesta #5 en: 16 de Enero de 2014, 19:15:22 »
Hola paisano MIRA ESTE HILO, te aclará algunas de tus dudas.

saludos.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Re: Condicional de una funcion
« Respuesta #6 en: 17 de Enero de 2014, 12:55:20 »
Ahh ok AngelGris, soy nuevo en el foro, no conocía esa herramienta... :mrgreen: en adelante pondré el código con el GeSHi; y gracias por tu respuesta ya me van quedando claras mis dudas.

KALLITOS gracias por compartir el enlace, me va a servir de mucho  :-/ empezare a leerlo desde ya!  ;-)

Desconectado camhost1

  • PIC12
  • **
  • Mensajes: 51
Re: Condicional de una funcion
« Respuesta #7 en: 18 de Enero de 2014, 10:15:31 »
Hola amigo, cuando declaras una función y necesitas procesar datos para posteriormente ejecutar una tarea le agregas un RETURN (tu valor). Con eso aseguras que dentro del condicional se ejecute la tarea que esperas. Saludos

Desconectado ALFREDOSKY

  • PIC16
  • ***
  • Mensajes: 118
Re: Condicional de una funcion
« Respuesta #8 en: 20 de Enero de 2014, 11:56:56 »
Hola camhost1 gracias por el dato, estoy leyendo todo lo relacionado a esta sentencia y las maneras de retornar valores que posteriormente me servirán en otras funciones o tareas, gracias nuevamente!


 

anything