Si además quieres enviarnos un Artículo para el Blog y redes sociales, pulsa el siguiente botón:
Buenas tardes a todos
Esta vez tengo una facilita a ver si alguien me puede hechar una mano, soy un novato en esto del C y tengo un codigo muy sencillo que me ocupa muchas lineas, ahora mismo no tengo problemas porque solo estoy trasteando y no tengo problemas de espacio pero a lo mejor con alguna cosita mayor puedo tenerlos asi que quisiera ver si esto se puede optimizar en menos lineas:
if (input(PIN_B1))
{
if (pisob|=0)
{
PORTD=pisob;
delay_ms(1000);
}
if (piso1|=0)
{
PORTD=piso1;
delay_ms(1000);
}
if (piso2|=0)
{
PORTD=piso2;
delay_ms(1000);
}
if (piso3|=0)
{
PORTD=piso3;
delay_ms(1000);
}
if (piso4|=0)
{
PORTD=piso4;
delay_ms(1000);
}
if (piso5|=0)
{
PORTD=piso5;
delay_ms(1000);
}
if (piso6|=0)
{
PORTD=piso6;
delay_ms(1000);
}
if (piso7|=0)
{
PORTD=piso7;
delay_ms(1000);
}
if (piso8|=0)
{
PORTD=piso8;
delay_ms(1000);
}
if (piso9|=0)
{
PORTD=piso9;
delay_ms(1000);
}
if (piso10|=0)
{
PORTD=piso10;
delay_ms(1000);
}
if (piso11|=0)
{
PORTD=piso11;
delay_ms(1000);
}
if (piso12|=0)
{
PORTD=piso12;
delay_ms(1000);
}
if (piso13|=0)
{
PORTD=piso13;
delay_ms(1000);
}
if (piso14|=0)
{
PORTD=piso14;
delay_ms(1000);
}
if (piso15|=0)
{
PORTD=piso15;
delay_ms(1000);
}
}
donde pisob, piso1, piso2... son int, se podria simplificar??
basicamente tengo unas variables que voy escribiendo en diferentes partes del programa y llegados a un momento quiero sacarlas por el puerto.
Esto está programado en CCS.
GACIAS
Gracias a los dos, ya os leí hace tiempo y pense que habia contestado pero no a sido asi, en principio el programa final no llevará Delays, este del ejemplo los lleva para que me de tiempo a ver por que linea voy, y me facilite las cosas al depurar, el final llevara ningun delay por lo que el retraso serán los tics necesarios para pasar de linea.
Un saludo y de nuevo gracias por la Ayuda.