comunicacion entre pics con rs232???

hola a toda la comunidad electronica:

en estos momentos quiero pedirle el favor a alguien que me colabore con un proyecto que estoy desarrolando se trata de 5 pics conectados mediante la comunicacion rs232 y lo que quiero es que uno que es el maestro o el que mada el a los demas tiene un teclado matricial 3x4 entonces quiero que cuando precione un determinada tecla uno de los pic me active una de sus patillas. aqui les dejo lo que mas o menos quiero hacer . espero que alguien se apiade de mi y me colabore grasias.

este es el codigo de el pic maestro.
quiero decirles que este codigo si me envia el numero que estoy enviando el problema es el que resive.

#include <16f628.h>
#use delay(clock=4000000)

#use rs232(baud=9600,xmit=pin_a1,rcv=pin_a2)
#include <kbd.c>

char k; //caracter que será leido

void main()
{
port_b_pullups (TRUE);


while(true){
kbd_init();
k=kbd_getc();//para cactar lo que se pulse o no se pulse en el teclado
if(k!=0){ //esta instrucción verifica si se ha pulsado una tecla
putc(k);
}
}[/B][/B]

este es el codigo de los otros pic:

#include <16f628a.h>
#use delay(clock=4000000)
#use rs232(baud=9600,xmit=pin_b1,rcv=pin_b2,bits=8)
#byte porta=05
#byte trisa=85
#byte portb=06
#byte trisb=86

int valor;
#int_rda
rda_isr()
{
valor=getc();
}

void main (){

trisa=0x00;
trisb=0xff;

enable_interrupts(int_rda);
enable_interrupts(global);
if (valor==1)
output_high(pin_b6);

}

este es el ejemplo en proteus:
 

Adjuntos

  • teclao.rar
    13.8 KB · Visitas: 20
Última edición:
En el programa del pic maestro no defines los bits a transmitir en el #use rs232 y si te das cuenta en el pic maestro la variable que has creado es caracter y en los demas la variable es de numero entero, nose si sera eso porque no te funciona.
 
Atrás
Arriba