Ver Mensaje Individual
  #6 (permalink)  
Antiguo 28/06/2007, 10:13
Infrarrojo
 
Fecha de Ingreso: junio-2007
Mensajes: 11
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: Otra duda: mover a una variable un conjunto de bits

extern byte err;
int i=0;
int j=0;
int k=0;

bool *comando, comando2[13];
bool comandoOn[13] = {1,0,1,0,1,0,0,1,0,0,0,0,0};
bool comandoVolmas[13] = {0,1,0,0,1,0,0,1,0,0,0,0,0};
//orden de los bits: 0 1 2 3 4... 12

static byte tecla[1]; /* Número de canales */

void main(void)

{

(void)PPG1_Disable(); /* disable the bean */

for(;;){

for(;;){
err = AD1_Measure (TRUE); /* Lee el valor */
err = AD1_GetValue((byte *)tecla);
if (tecla[0] > 63) break; /* Compara el valor con la tecla pulsada */
}



k = (tecla[0]);
k = (k / 64); // como la entrada tiene 256 niveles, 256/64 te da
// 3 niveles, para 3 teclas distintas
switch(k)
{
case 1: // {1,0,1,0,1,0,0,1,0,0,0,0,0} On/Off
comando = comandoOn;
break;

case 2: // {0,1,0,0,1,0,0,1,0,0,0,0,0}; // Volumen +
comando = comandoVolmas;
break;


case 3: // {0,1,0,0,1,0,0,1,0,0,0,0,0}; // Volumen -
comando = comandoOn;
break;

}
}
}