[cita title=Escrito originalmente por elDabids]Quero manejar una variabla o una estructura de 50 o mas bit a la cual pueda accesar bit a bit, como declaro dicha estructura y como hago para acceder a los bit, el programa es para un pic16f877, esta cadena la voy a mandar de forma serial a un registros de corrimiento.
de antemano gracias[/cita]
Hola.
A mi se me ocurre con un array de int.....
unsigned int variable[8]; // en total serian 8 * 8 = 64 bits
unsigned int i,j; // para acceder a el bit predeterminado donde 0<i<8 y 0<j<8
// Para poder modifificar un bit en especifico, por ejemplo el bit 25 ,el cual esta en variable [3], bit 0
i=3;
j=0;
bit_set(variable,j); /// Colocar "1"
o
bit_clear(variable,j); /// Colocar "0"
// y para sacar esos datos de forma serial podrias hacerlo con un for
for (i=0;i<8;i++)
for (j=0;j<8;j++)
{
if (bit_test(variable,j))
output_high(PIN_X); /// Define porque puerto quieres que salga
else
output_low(PIN_X);
// Ejecutas un delay si es necesario...........................
}