İki PIC arasında SPI haberleşme sorunu

_MeRKeZ_

Üye
Katılım
30 May 2011
Mesajlar
44
Puanları
1
Yaş
31
Merhaba Arkadaşlar,

İki adet PIC'in SPI üzerinden haberleşeceği bir uygulama geliştiriyorum. Uygulamanın çalışmasını deneme amacıyla da örnek olarak 8 bayt verinin iletimini yapmayı denedim. Sunucu her bir baytı yolladıktan sonra istemci de ona karşılık yine bir bayt yolluyor ancak ilk veri iletimi esnasında sorun çıkıyor. Sunucu veriyi doğru bir şekilde iletiyor ancak gelen değer 0 olması gerekirken 49 -yani 1 değerinin asci karşılığı dönüyor- Dönen verinin 49 olmasının sebebi ise, haberleşmeyi başlatacağım zaman sunucudan gönderdiğim '1' değeri. Bu durumu nasıl çözebilirim sizce?

Teşekkürler.

Sunucu

Kod:
            output_low(Istemci1);
            spi_write('1');
            output_high(Istemci1);
           
            for(i=0;i<8;i++)
            {
               if(denetim==1)
               {
                  denetim = 0;
                  gelenVeri = 0;
                  output_low(Istemci1);
                  spi_write(veri[i]);                  
                  while(!spi_data_is_in());
                  gelenVeri = spi_read();
                  output_high(Istemci1);
                  denetim= 1;
                  printf(lcd_putc,"\fVeri: %d",gelenVeri);
                  delay_ms(500);
               }
            }


İstemci

Kod:
         if(spi_data_is_in())
         {
         
            veri = spi_read();
            delay_ms(5);
           
            if(veri == '1')
            {
               for(i=0;i<8;i++)
                {    
                  while(!spi_data_is_in());
                  veri = spi_read();
                  delay_ms(5);
                  spi_write(i);
                }
             }
          }
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…