La pagina que distes esta buenisima, pero solo es para comunicacion infraroja, que es diferente.
mariano_pic
no es solo para comunicacion infrarroja mi buen amigo mariano, como podeis ver es un protocolo, no es exclusivamente para infrarrojos, ya que puede adaptarse facilmente para RF, como mencione yo hice RF; con los modulos TWSyRWS-433 que son identicos a los TLP, y use codigo de Algec para RF usando RC-5 de Phillips (un protocolo de mandos infrarrojos como se ve en la pagina qeu deje); el codigo está en el link qeu deje en mi primer post, y como menciono, me ha funcionado correctamente, y pues como digo es simplemente una Transmisión Recepcion Asincrona (digamos ART) como la US
ART del PIC, asi que no tendria porque no funcionar, solo se debe tener cuidado en la programacion, porque hice para sony y costo un poco, pero funciona, no dije que no funciona el USART del PIC, solamente que no es la forma (y que a mi no me funciono solo enviando un dato, porque este ya lleva el start y el stop bits)
De hacerlo como menciono Giovanny (un bit de start y stop para cada caracter de delimitacion), porque te genera el USART del PIC automaticamente esos bits de start y stop para cada byte enviado.
en realidad no entendi tu explicación... debe ser por eso que ni la apoyo ni la contradigo.. igual agradezco la informacion, me estare documentando sobre el tema...
creo que mas entendible sera esto:
lo que hace USART en el PIC, es ponerte un bit de start y un bit de stop
siempre por cada dato enviado (dependiendo de la configuracion que le des, pueden ser creo hasta 2 bits de parada, y no estoy seguro si se puede omitir el bit de parada, creo que no), lo que harias con tu forma de envio:
Ademas de estos dos truquillos, recomiendo tambien usar 'identificadores' antes y despues del dato (esto lo lei recientemente y creeme que funciona)... por ejemplo enviar #(dato)*. si no coinciden entoces continuas recibiendo asi sea ruido pero no va a afectar tu pic receptor... ahora bien.. puedes hacer lo siguiente (0x00)(0Xff)(#)(dato)(*)...
es: BITSTART 00000000 BITSTOP BITSTART 11111111 BITSTOP BITSTART 01010110 BITSTOP BITSTART dato BITSTOP BITSTART 01001110 BITSTOP
los 8 ceros=0x00; 8 unos=0xff; 01010110= digamos qeu el codigo ascii del numeral; dato=la info enviada; 01001110=digamos que es el codigo ascii del asterisco
lo cual es bastante ineficiente, ya que se desperdicia el uso del canal por ejemplo, y otras cosas mas, que determinan la calidad de la comunicación, por tanto se debe hacer:
BITSTART 00000000 11111111 01010110 dato 01001110 BITSTOP
o mejor el bit de START seran los ceros y unos del principio (y pues sera byte de start) y quedará:
00000000 11111111 01010110 dato 01001110 ; siendo ese ultimo byte tb el bayte de stop o nose colocarle tb el mismo byte de start complementado
y bueno eso es lo que hace un protocolo de mandos infrarrojos (start y datos), por tanto puede ser reusable para RF, solo seguir sus definiciones de unos y ceros.
un poco sobre com asincrona:
http://www.monografias.com/trabajos37/entrada-y-salida/entrada-y-salida.shtmlespero no haber confundido, jeje, pues es un tema amplio, y si hablamos todavia de la sincrona, bueno ya no me extiendo, saludos.