No, no hay ningún estándar o incluso comúnmente aceptadas en la práctica.
Si usted está realmente seguro de todo lo que se envíe a través de este enlace es una corriente de 12 valores de los bits, entonces usted puede poner 6 bits en cada byte y utilizar el resto de 2 bits para identificar si este byte contiene el alta o baja de 6 bits de los 12 bits de la palabra. Que deja a los dos más códigos para un poco de expansión.
Sin embargo, eso no es lo que me gustaría, y ciertamente no es lo que suele hacer. No importa cuánto usted piensa lo contrario ahora, las posibilidades son buenas de que tarde o temprano tendrá que desea que usted podría enviar algo sobre el enlace, incluso si es sólo para la depuración. Ya que dicen ancho de banda no es un problema, hazlo ahora mismo, así que la expansión del protocolo va a ser fácil.
Lo que yo suelo hacer es enviar paquetes de datos que comienzan con un código de operación de bytes, que es seguido por los datos que va junto con el código de operación. He hecho esto muchas veces. Para mayor claridad de la documentación, que yo llamo los paquetes desde el host a la micro comandos, y desde la micro a la acogida de las respuestas, pero eso no significa que las respuestas deben ser sólo un resultado de los comandos.
Este esquema es fácil de implementar en el firmware. Es fácil en el host demasiado, pero eso no importa. Con el infinito poder de procesamiento y memoria de un PC, de cualquier protocolo se cocine hasta que esté manejable en el micro va a ser fácil en el host. El punto es mantener la sencillez en la pequeña con recursos limitados del sistema y el otro sistema se adapta según sea necesario.
En la recepción, yo uso un salto de la mesa para el código de operación de bytes. Que distribuye a la rutina único para ese comando, que sabe muchas más flujo de entrada de bytes a leer y qué hacer con ellos. Cuando está hecho, el comando de las rutinas de salto de nuevo a un común punto de retorno, que recupera el siguiente código de operación, se distribuye a través de la mesa, la cual se ejecuta el siguiente comando rutina, etc.
Una vez que este mecanismo de configurar y un programa de prueba en el host a leer y a escribir este protocolo, es realmente simple para agregar otro comando o respuesta. Al ser tan simple, vamos a empezar a utilizar este servicio en maneras que usted puede no haber imaginado al principio. Por ejemplo, usted puede hacer un comando que establece una depuración de bits en el firmware que hace que de otro código para hacer algo especial. O te das cuenta de que hay algunas opciones que le gustaría control, tal vez de leer de nuevo los datos de la memoria, un comando especial que hace algo único para las pruebas, etc, etc. Este tipo de cosas viene en muy práctico mucho.
Para resolver el caso en particular se le preguntó acerca de, usted tendría una respuesta que es seguido por 2 bytes que contienen el 12 número de bits. En el micro, que es tan simple como el envío de la respuesta opcode byte seguido por los dos bytes de datos periódicamente. Mientras tanto, se deja abierta la opción de envío de otras cosas, sin echar a perder la secuencia de 12 valores de los bits.