Comunicacion entre microcontroladores

Buenas noches...

Para un proyecto que estoy realizando, tengo que enviar datos de un microcontrolador a otro, los estoy enviando a traves de los modulos RF... esta parte es comunicacion serial, y el proyecto lo estoy realizando en c en el compilador ccs...

el problema radica en que tengo que enviar 8 datos, en proteus funciona a la maravilla, pero en la vida real, osea montando la comunicacion se cuelga,pense que era cosa de los modulos rf asi que lo conecte con cables pero no igual la comunicacion se cuelga., empece a mirar hasta cuantos datos no se cuelga, y me di ceunta que si solo envio dos datos la comunicacion permanece , pero si envio mas de dos se vuelve a colgar...

Estuve mirando algo de utilizar un buffer para hacer un envio correcto de los datos, pero la verdad no se como se hace...

alguien me puede hacer el favor de ayudarme y guiarme con el tema de enviar los datos....
de ante mano muchas gracias...

Por otro lado esta un proyecto parecido tengo que enviar por decir algo del numero 1 al numero 3, entre dos micros, peroooooo el profesor pide hacerlo a traves de diodos infrarojos, de los normalitos, me sorprendio cuando me dijo eso la verdad no pense que se pudiese hacer, alguien sabe la forma de conectarlos y de que enverdad se envien datos a traves del diodo..

muchass muchasss gracias...
 
Ok, vamos por partes:

-Cómo sabes que estan llegando 2 datos y luego se cuelga? Estan bien configuradas las velocidades y demás en ambos microcontroladores? Tal vez podrías poner algun diagrama del circuito o código.

-Por otro lado, los datos no se envían por el diodo, digamos... Los datos que enviás son digitales, son dos valores para cada bit (1 y 0). En lugar de enviar tension o no por tu cable para los dos niveles, lo que haces en enviar luz o no mediante el prendido o apagado del LED. Del otro lado debes captar esto con un fotodiodo o fototransistor, que conducira o no según el estado del LED.
 
Bueno si... pero que protocolo estas usando? que velocidad? que microcontroladores? que modulos de RF? diodos normalitos... eso me suena a leds de luz cual quiera que sea, donde esta el codigo? , y el circuito? ya hiciste pruebas con osciloscipio? Se cuelga que? la comunicacion? el microcontrolador? se reinicia?

Por ultimo, el proteuss es para dummys. Proteus es para mi... un juguete para aprender a encender un led.

Hoy tengo apagado mi modulo telepatico, entonces necesito que me lo escribas y describas para entender mejor tu problema.
 
Ok, vamos por partes:

-Cómo sabes que estan llegando 2 datos y luego se cuelga? Estan bien configuradas las velocidades y demás en ambos microcontroladores? Tal vez podrías poner algun diagrama del circuito o código.

-Por otro lado, los datos no se envían por el diodo, digamos... Los datos que enviás son digitales, son dos valores para cada bit (1 y 0). En lugar de enviar tension o no por tu cable para los dos niveles, lo que haces en enviar luz o no mediante el prendido o apagado del LED. Del otro lado debes captar esto con un fotodiodo o fototransistor, que conducira o no según el estado del LED.


Bueno primero que todo gracias por responder, segundo ps ya me queda mas claro que los fatos no se pueden enviar por infrarrojo si no que se maneja por la luz y por el voltaje que era lo que pensaba en un principio....

Por otro lado como se que lelgan dos datos y se cuelga, ps la instruccion que utilizo es:
putc(f);
delay_ms(1);
putc(g);
delay_ms(1);
que son los dos datos diferentes... (f y g), en el receptor utilizo por la interrupcion de el puerto serial....
con la siguiente isntruccion.:
d=fgetc();
delay_ms(1);
r=fgetc();
delay_ms(1);
siendo d y r datos diferentes, de esta manera se que me llegan los dos datos y los publico en una lcd.. si adiciono a cada parte del codigo una linea mas para que me acepte otro dato de la misma manera... la comunicacion se cuelga, o mejor dicho el pic que recibe no hace nada.... POR ESTE MOTIVO ES QUE QUERIA CONOCER COMO ENVIAR LOS DATOS Y RECIBIRLOS CON UN BUFFER, QUE SEGUN HE VISTO ES UN ARREGLO PERO NO ENTIENDO COMO SE UTILIZA...
las velocidades son 9600 con cristal de 4MHz, tengo las interrupciones prendidas tanto la global como la especifica...

partamos del hecho que hasta aqui no he utilizado los modulos rf solo el cable normal y asi lo voy a utilizar hasta que peuda comunciar normalmente todos los datos que necesito...

AHORA el mismo problema se me presenta con i2c si envio dos datos bien ... pero si envio mas no llega nada al otro micro... y estoy utilizando las lineas con su respectiva resistencia a vcc... de 4k7...

si la verdad en rpoteus no confio mucho, casi no me gusta, porque no es muy acertado...
 
Atrás
Arriba