TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: elfrancho en 23 de Diciembre de 2010, 12:47:53
-
Hola gente, quería hacerles una consulta, tengo un dispositivo que transmite por RF con un modulito que compré por 4 dolares.
Tengo otro dispositivo (receptor) y quiero identificar diferentes tramas. Una trama es para encender, otra es para apagar, otra para realizar un test.
La comunicación con una sola trama funciona, ahora mi problema es como identificar MAS DE UNA trama....
aqui dejo parte del código que utilizo para identificar UNA SOLA.
void RxTrama_ON(){
int i;
RxTrama_1:
for(i=0;i<6;i++) {
if(getc()!=Trama_ON) {
goto RxTrama_1;
}
}
i=0;
output_toggle(LED1);
output_toggle(RELAY);
}
A ver si aca meexplico mejor... mientras mi dispositivo receptor esta esperando una trama de ONLED1 (encendido led 1) y el emisor está envienado otra trama de encendido LED3... es como que pierdo ese dato.. se entiende???
gracias y saludos !!!!
-
Hola.
Creo que mejor sería hacerlo con interrupciones. De esa manera, cada que llega un byte a la USART lo vas guardando en un Bufer, al finalizar el envío del comando lo comparas y según el comando que llegue realizas tu acción.
Saludos
-
es que tengo un problema, al modulo receptor de RF no lo pude hacer funcionar por RS232 por hardware.... solo funciona con FORCE_SW...
no entiendo el por que ??.. cuando lo pongo por HARD se me cae la tensión en el pin Rx del pic. en cambio por software anda perfecto
saludos!
-
Hola.
Prueba primero tu codigo de PIC a PIC por serial cableado y si funciona bien, reemplazas los cables por los módulos. Sería bueno ver algo más de código para tener una mejor idea.
Saludos