27. Bits y bytes
Si queremos modificar los valores de las variables de configuración
(CV), es bueno tener algunas nociones sobe las representación de los
números en formato binario. En el formato binario sólo tenemos dos dígitos,
0 y 1. Un número binario se llama bit. Un grupo de 8 bits se llamará byte,
representando un número binario de 8 dígitos binarios. Las variables de
configuración, CV, son bytes guardados en la memoria no volátil de los
descodificadores. Los bits de un byte se numeran de 0 a 7. El bit 0 es el
menos significativo (LSB), tiene el valor decimal de 1 y el bit 7 es el más
significativo (MSB), tiene el valor de 128
Algunas centrales de mando, utilizadas para modificar las CV, muestran
el valor y permiten la introducción sólo en formato decimal. En este caso es
bueno saber cómo encontrar el estado de n bit a partir de un valor decimal
leído, o cómo calcular el valor decimal que hay que escribir en la CV en
función de la configuración de bits deseada.
Bit, posición Bit7
Bit, valor
Si conocemos la configuración de bits y queremos averiguar el
valor decimal, utilizaremos la siguiente fórmula de cálculo:
Dec=B7*128+B6*64+B5*32+B4*16+B3*8+B2*4+B1*2+B0
dónde B0 ... B7 representan el valor de su bit respectivo (0 o 1).
Por ejemplo, si B7 = 1, B5 = 1, B2 = 1, y el resto es 0, tenemos:
Dec
= 1*128+0*64+1*32+0*16+0*8+1*4+0*2+0=
= 128+32+4=164
Si queremos encontrar la configuración de bits a partir de un valor
decimal, hacemos lo contrario. Intentamos restar del valor decimal el
valor en bits que comienza con MSB y guardamos la diferencia para
las siguientes sustracciones hasta que obtengamos 0. Para las
Lokommander II
Manual de usuario para firmware 3.5.195
MSB
Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0
128
64
32
.
16
8
4
Versión
0.1.22
LSB
2
1
Página 67 de 72