Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => Konuyu başlatan: kartal0689 - 28 Temmuz 2015, 19:16:31

Başlık: SPI Haberleşme Hatası
Gönderen: kartal0689 - 28 Temmuz 2015, 19:16:31
Arkadaşlar,

İki pici SPI ile haberleştiriyorum. Master pic sadece gönderiyor. Slave pic ise sadece alıcı konumunda.
Fakat şöyle bir sorun var.
İki picin gerilimlerini aynı anda verince haberleşmede ya da vericiye gelen datalarda bir sorun yok.
Fakat Master' ın gerilimini Slave' den sonra verince datalar Slave' e düzgün gitmiyor. Bunun sebebi ne olabilir.
  Verici - MASTER

               
               SPI_Send_Data1 := 124;
               MainSPI_Cs := 0;
               Delay_us(10);
               SPI1_Write(SPI_Send_Data1);
               Delay_us(10);
               MainSPI_Cs := 1;

----------------
ALICI - SLAVE


procedure SPIInt(); iv IVT_ADDR_SPI1INTERRUPT;
begin
      SPI1BUF     := 0;
      IEC0.SPI1IE := 0;



      Read_Data := SPI1_Read(0);
     


      IFS0.SPI1IF := 0;
      IEC0.SPI1IE := 1;

end;


Başlık: Ynt: SPI Haberleşme Hatası
Gönderen: mehmet - 28 Temmuz 2015, 20:34:03
Verinizin başında header var mı?
Başlık: Ynt: SPI Haberleşme Hatası
Gönderen: kartal0689 - 29 Temmuz 2015, 09:18:08
Hayır yok. Header nasıl ekleniyor
Başlık: Ynt: SPI Haberleşme Hatası
Gönderen: mehmet - 29 Temmuz 2015, 18:53:14
Mesela, asıl verinizi yollamadan önce
Kartal kelimesini yollarsınız hemen
arkasindan da gerekli bilgileri. Alıcı da
önce Kartal kelimesini bekler. O zamana
kadar olan bilgileri değerlendirmez.
Başlık: Ynt: SPI Haberleşme Hatası
Gönderen: kartal0689 - 30 Temmuz 2015, 09:48:38
Evet verilerimi göndermeden önce bunları yapıyorum.
Ancak o ilk gönderdiğim datalarda bozuk gidiyo zaten.
Çok enterasan bir durum. Master PIC, Slave PIC' ten sonra çalışmaya başladığı zaman datalar yanlış gidiyor.

Bu durumda ben haberleşme kontrolüde yapamıyorum. Mesela diyorum ki, İlk haberleşme olduğunda(Cihaz ilk enerjilendiğinde) Master PIC 0x0A verisini gönderecek.Slave PIC' ten 0x1A gelene kadar Master Alıcı konumunda
bekler. Slave 0x1A' yı gönderince haberleşme başarılı olmuş olur.

Ama Master PIC Slave PIC' ten sonra enerjilendiğinde sorun oluşuyor. Bunun sebebi nedir arkadaşlar bir bilen yok mu kafayı sıyıracam.