rs232 ile iki denetleyici arası iletişim
Alıcı devre kodları:
#include<16f877a.h>
#fuses hs,nowdt,noprotect,noput
#use delay (clock=20m)
#use rs232(baud=9600,rcv=pin_c7,bits=8,PARITY=N)
#use standard_io(c)
void main()
{
char veri;
set_tris_b(0x00);
output_b(0x00);
while(true)
{
veri=getc();
switch(veri)
{
case '1': output_toggle(pin_b0); break;
case '2': output_toggle(pin_b1); break;
case '3': output_toggle(pin_b2); break;
case '4': output_toggle(pin_b3); break;
}
}
}
Verici devre kodları:
#include<16f877a.h>
#fuses hs,nowdt,noprotect,noput
#use delay (clock=20m)
#use rs232(baud=9600,xmit=pin_c6,bits=8,parity=N)
#use standard_io(c)
void main()
{
set_tris_b(0xff);
while (true)
{
if(input(pin_b0)==1)
{
putc('1');
while(input(pin_b0)==1);
}
if(input(pin_b1)==1)
{
putc('2');
while(input(pin_b1)==1);
}
if(input(pin_b2)==1)
{
putc('3');
while(input(pin_b2)==1);
}
if(input(pin_b3)==1)
{
putc('4');
while(input(pin_b3)==1);
}
}
}
Hiç yorum yok:
Yorum Gönder
Her yorum bilgidir. Araştırmaya devam...