seri iletişim sorunu

Başlatan alperyazir, 16 Nisan 2012, 01:21:33

alperyazir

üstadlar 2 pic ile iletişim yaptım ama bir tane merkezi picim olsun ve ayrı 2 tane pici bunla haberleştiriyim istiyorum kodlarımda sıkıntı yok gibi ama yanlış çalışıyor bi yardım ederseniz sevinirim.
ısıs şemam ; http://b1204.hizliresim.com/w/j/4hv30.png

kodlarımda şöle;
*****verici****
#include "C:\Users\Windows 7 ultimate\Desktop\verici\veric.h"

int a,b;

void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

   set_tris_b(0x03);
   output_b(0x00);
   while(1){
   a=input(pin_b0);
   b=input(pin_b1);
   if(a==1) putc('A');
   if(a==0) putc('B');
   if(b==1) putc('X');
   if(b==0) putc('Y');
   }

}




******alıcı1*****(sağ alltaki pic)
#include "C:\Users\Windows 7 ultimate\Desktop\alıcı1\alıc.h"

int al;
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

   set_tris_b(0x00);
   output_b(0x00);
   while(1){
   if(getch()==)
   al=getch();
   if(al=='A') output_high(pin_b0);
   if(al=='B') output_low(pin_b0);
   }
}


******alıcı2**** (sol allttaki pic)
#include "C:\Users\Windows 7 ultimate\Desktop\alıcı 2\alıcı2.h"

int al;
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

  set_tris_b(0x00);
   output_b(0x00);
   while(1){
   al=getc();
   if(al=='X') output_high(pin_b1);
   if(al=='Y') output_low(pin_b1);
   }
}

serhat1990

picwizard kullanarak yapıyorsunuz ayarlamaları göremiyoruz sonra main'de hata bakmaya çalışıyoruz ayarlarının oldugu fonksiyonuda koyman gerekmiyormu ? Ayrıca yanlışlık nerede ? onuda açıklarsan iyi olur ... Sorunun ne oldugunu yazmamıssın.

vitruvius

Ek olarak led; sol alttaki pic'te pinb0'a, sağ alttaki pic'te pinb1'e bağlı. Bir terslik olmuş.

jackal183

verici.h, alıcı1.h ve alıcı2.h kodlarını da koyarsan daha iyi yardımcı olabiliriz, ayrıca da sorun tam olarak ne, bunu çözebildin mi?

arslan74

Öncelik senin sorunun kod gelmeden daha donanımda başlıyor. RS232 peer to peer haberleşme için tasarlanmıştır. Bir verici iki tane alıcı bu şekilde haberleştiremessin, Sorun olur. Tek gönderici birden fazla alıcıda sorun olmaz. Birden fazla Gönderici Tek alıcı olunca çalışmaz. Yani master slavelere gönderebilir ama Slavelerden bilgi okuyamaz.

Araya Rs422 bullanabilirsen çalıştırabilirsin.

Kolay gelsin.