TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: septiembre_negro en 31 de Agosto de 2009, 17:52:59
-
Hola
Pues eso requiero modificar el bit 7 ,de una variable que forma parte de un array el manual dice que se accede al bit de una variable así:
int result;
#bit result_odd = result.0
Ahora si yo ago esto:
Int8 result[4],
#bit result_odd = result[2].0
El compilador me marca error y en el manual no e encontrado otra forma de hacerlo es así como debe hacerse o mi error esta en otra parte del código al trabajar el array
Como siempre agradezco sus comentarios
-
Si queres invertir el septimo bit:
result[2] ^= 128;
Setear:
result[2] |= 128;
Que valga cero:
result[2] &= 128;
En un if
if(result[2] & 128) {
}
128 es el resultado de 1<<7;
-
Si utilizas CCS también puedes utilizar las macros bit_test para leer un bit, y bit_set para ponerlo a 0 o 1.
-
Les agradezco sus comentarios probare de ambas maneras esto de cambiar el bit de un array se a puesto muy rudo . Y mas me extraña que a todos les parece muy loco que quiera hacer esto en un array :D :D :D
E probado ambas formas y las dos funcionan correctamente :-/ :-/ :-/
-
También deberías poder invertirlo con toggle_bit().
Espero te sirva...
-
También deberías poder invertirlo con toggle_bit().
Espero te sirva...
Entendido y anotado :P