_MeRKeZ_
Üye
- Katılım
- 30 May 2011
- Mesajlar
- 44
- Puanları
- 1
- Yaş
- 32
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
İstemci
İ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);
}
}
}