Amigos : en relacion a lo que estoy haciendo y las horas cul..

que estoy consumiendo para mi proyecto,es que estoy armando este tutorial para
0- que me corrijan si pifio
1- aprender
2- compartir el aprendizaje
3- ayudar a optimizar el foro
Ahi voy...arranco con recepcion
de acuerdo a lo leido, la comunicacion serie (en adelante CS) tiene, segun se configure , pero en general como lo uso yo bytes de comunicacion
constituidos por:
un bit de start
8 bits de datos
un bit de parada
de manera que son 10 bits
en realidad (corrijanme) este byte de comunicacion deberia llamarse pirulo, porque tengo entendido que un byte son 8 bits
entonces la unidad de comunicacion para este caso es el pirulo
Ahora, como reconoce el sistema el bit de start?
la linea esta reposando en un 1 , o nivel alto o como lo quieran llamar. Cuando comienza la comunicacion,el bit de start es el primer bit que va a un nivel bajo,
comenzando el proceso.
me resta conocer cual es la instruccion que detecte el bit de start, creo que deberia ser el on_comm en modo receive pero lo debo chequear
como sabe el sistema cuanto dura 1 bit? pues con los seteos que hacemos del puerto, baudios por segundo, 8 bits de datos, bit de start y stop,
entonces el bit de stop es el ultimo bit del byte que tambien es un de un nivel bajo , que le indica al sistema que ahi termino Pirulo.
si no entra otro byte, despues del bit de stop la linea va a un alto y queda en reposo. esperando otro evento de recepcion.
dentro de pirulo, los bit de datos tambien toman los valores de 1 logico o cero logico, y el sistema seteado reconoce por ejemplo cuando el bit 3 y el bit 4 estan en un uno logico, porque sabe los tiempos que duran los bits en funcion del seteo que hicimos.
cuando entre el otro pirulo, ya el sistema sabe que el proximo bit a nivel bajo va a ser el bit de start del pirulo siguiente ,y a partir de ahi decodifica los unos y ceros presentes en el byte de datos del pirulo ,hasta encontrar el decimo bit que es el de stop.
como organizamos el envio para que la recepcion sea correcta?
en mi caso ,estoy enviando a la pca valores de posicion de un motor,pero es igual el concepto.
si yo quiero decirle al sistema que mando un valor por ejemplo de 47, este vlor usa un byte (ya que es menor que 255)
cuando termina 47, necesito decirle al sistema ahi terminó 47, para despues mandar el siguiente dato supongamos 38.
la tarea de separar 47 de 38 es nuestra ,y el sistema lo interpretara de acuerdo a lo que le digamos, ya que no sabe si nosotros queremos mandar el 47 y despues el 38 , o el 4738.
no confundir el bit se stop de un pirulo con el final de 47 . para decirle al sistema que termino ese dato ( 47) yo estoy pensando en usar el retorno de carro
de manera tal que actua como separador de datos.
entonces la maniobra seria:
envio de dato
separador
envio de dato etc...
quiero comentarles que todavia no voy a entrar en los ok de recepcion de datos y esas cosas...voy despacio

Asigancion de lugares para los datos:
en esta parte entran en juego mas seteos del puerto , y aqui necesito la ayuda de ustedes para organizar la informacion
no es lo mismo mandar el valor 47 que el valor 368, ya que los pirulos que usan son distintos. esto es como en el cine:

el numero de butacas es el numero de lugares(buffer de recepcion) que debo reservar para la gente(datos)
si reservo 5 butacas y vienen 10 personas, tengo perdida de informacion(gente). si reservo mas butacas que gente que va venir ,gasto memoria (pierdo plata)
de manera que conceptualmente conviene conocer cuanta gente va a entrar , para designar las butacas
tengo que chequearlo,pero me parece que el tema de las butacas es el que realiza mscomm1. inbuffersize
contunuara....