Hola a todo el mundo. Un saludo lo primero de todo. Mi problema es el siguiente: tengo 2 bombillas con dos botones para cada bombilla. Un boton la activa y el otro la desactiva. El problema que tengo es que al encender una bombilla se me apaga la otra y lo que quiero es encender las dos bombillas a la vez. Os dejo el codigo fuente.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main ( ) {
char *cadena_entrada;
int estado_rele = 0;
int rele_1_encendido;
int rele_2_encendido;
int rele_3_encendido;
int x,y,u,v;
/** Imprime la cabecera de respuesta CGI, necesaria para todas las salidas HTML **/
/** \n envia un salto (una linea blanca) **/
printf("Content-type: text/html \r\n\r\n") ;
/** Imprime la pagina HTML de respuesta para STDOUT **/
printf("<html>\n") ;
printf("<body>\n") ;
printf( "<BODY BGCOLOR=\"#FFA500\"TEXT=\"#000000\">\n");
printf("<h1>Controlador EP9302</h1>");
printf("<p><br>La siguiente pantalla muestra la interfaz para poder activar los reles que controlan el funcionamiento de la llenadora de vinos de la linea 2. Deje el controlador si no sabe lo que esta haciendo.</p><br>");
cadena_entrada = getenv("QUERY_STRING");/* Asigna el valor de la variable QUERY_STRING a la cadena: cadena_entrada*/
x = strcmp ( cadena_entrada, "activa_rele_1=Activar+Rele+1");
y = strcmp ( cadena_entrada, "desactiva_rele_1=Desactivar+Rele+1");
u = strcmp ( cadena_entrada, "activa_rele_2=Activar+Rele+2");
v = strcmp ( cadena_entrada, "desactiva_rele_2=Desactivar+Rele+2");
if( x == 0 )
{
estado_rele |= 1; /* |=:Asigna OR entre bits */
}
else if( y == 0 )
{
estado_rele &= ~1;/* &=:Asigna AND entre bits */
}
else if( u == 0 )
{
estado_rele |= 2;
}
else if( v == 0 )
{
estado_rele &= ~2; /* ~:OPERADOR SOBRE BITS, negación del bit */
}
if( (estado_rele & 1) == 0 )
{
printf("<form action=\"CGI_Reles.cgi\" method=\"GET\">");
printf("<div align=\"center\"><Boton>Rele 1:<input type=\"submit\" name=\"activa_rele_1\" value=\"Activar Rele 1\"><img src=\"/OBJETOS/bombilla2.gif\" heigth=\"80\" width=\"50\" hspace=\"30\" /><input type=\"submit\" name=\"desactiva_rele_1\" value=\"Desactivar Rele 1\"<br /><br ></div></form>");
}
else
{
printf("<form action=\"CGI_Reles.cgi\" method=\"GET\">");
printf("<div align=\"center\"><Boton>Rele 1:<input type=\"submit\" name=\"activa_rele_1\" value=\"Activar Rele 1\"><img src=\"/OBJETOS/bombilla1.gif\" heigth=\"80\" width=\"50\" hspace=\"30\" /><input type=\"submit\" name=\"desactiva_rele_1\" value=\"Desactivar Rele 1\"<br /><br ></div></form>");
}
if( (estado_rele & 2) == 0 )
{
printf("<form action=\"CGI_Reles.cgi\" method=\"GET\">");
printf("<div align=\"center\"><Boton>Rele 2:<input type=\"submit\" name=\"activa_rele_2\" value=\"Activar Rele 2\"><img src=\"/OBJETOS/bombilla2.gif\" heigth=\"80\" width=\"50\" hspace=\"30\" /><input type=\"submit\" name=\"desactiva_rele_2\" value=\"Desactivar Rele 2\"<br /><br ></div></form>");
}
else
{
printf("<form action=\"CGI_Reles.cgi\" method=\"GET\">");
printf("<div align=\"center\"><Boton>Rele 2:<input type=\"submit\" name=\"activa_rele_2\" value=\"Activar Rele 2\"><img src=\"/OBJETOS/bombilla1.gif\" heigth=\"80\" width=\"50\" hspace=\"30\" /><input type=\"submit\" name=\"desactiva_rele_2\" value=\"Desactivar Rele 2\"<br /><br ></div></form>");
}
printf("</body>\n") ;
printf("</html>\n") ;
return(0) ;
}
PD. Se trata deo un script CGI, vereis codigo html,. Bombilla2.gif es la bombilla apagada y bombilla1.gif en la bombilla encencida
Un saludo y gracias de antemano

