Parece suceder con bastante frecuencia que estoy trabajando en un sistema que incorpora un conjunto de comandos serie (SPI o asíncrono).
Como tal, generalmente tengo que armar un conjunto de valores de bytes de comandos arbitrarios que representan comandos posibles.
Como tal, me parece que estoy tratando de maximizar la distinción entre los posibles comandos. Por ejemplo, si tengo un total de 4 comandos, elegiría algo como:
0x81, 0b10000001
0x42, 0b01000010
0x24, 0b00100100
0X18, 0b00011000
o mejor aún (ya que permite una mayor expansión)
0xA5, 0b10100101
0x5A, 0b01011010
0X99, 0b10011001
0x66, 0b01100110
0x96, 0b10010110
0x69, 0b01101001
Ambos tienen la ventaja de ser muy distintos, por lo que el ruido tiene pocas posibilidades de dañar uno para que se parezca a otro, y también es posible determinar (manualmente) el comando utilizando solo un único analizador lógico o un canal de osciloscopio. p>
Entonces, dado el supuesto de que está diseñando un protocolo arbitrario y el supuesto de que el ruido no es una consideración importante, ¿qué es un buen consejo y / o comentarios sobre la mejor manera de elegir constantes binarias para la definición de comando de un interfaz serial?
En realidad, esto parece ser ampliamente aplicable a cualquier situación en la que estés usando comandos binarios entre dos (o más) sistemas.