SPI slave to master haberleşme sorunu

Başlatan e-zeki, 23 Kasım 2015, 14:38:04

e-zeki

Merhabalar arkadaşlar,
Forumda da, pic programlamada da yeniyim. Eğer bu ileti forum kurallırının dışında kalıyorsa şimdiden özür dilerim sorımun cevabını hem bu forum içinde hem başka sitelerde aradım fakat bir cevap bulamadım.
SPI ile iki pic'i haberleştirmeye çalışıyorum. masterdan slave veri göndermede sorun yaşamadım fakat slaveden veri okumayla alakalı bulabildiğim tek şey shift registerlarla birbirine göndermek gibi karmaşık bir cevap buldum. master slaveden nasıl veri okur bunun hakkında bilgisi olan arkadaşlar paylaşırsa çok makbule geçer. Şimdiden teşekkürler

RaMu

Yanyana iki tane kapı var,
biri O, diğeri I kapısı,
kapıların biri giriş biri çıkış kapısı,
bu kapıların tam ortasında bir adam,
bu ortadaki adamın adı KILok,
kapılar bar kapısı gibi,
önünde hıncahınc kalabalık,
paso birileri içeri girmek birileri çıkmak çabasında,
Bu kapıların ortasındaki adam enteresan,
her defasında
ancak 8 kişi girebilir 8 kişi çıkabilir diyor,
bu giren çıkanlarıda kıllık olsun diye
tam 1 adam çıkarken diğeri girecek diyor.

İşte buradaki clock üreten taraf master diyebiliriz,
giren çıkan adamların herbiride 1 bit,
toplam 8 bit data tabiki 1 byte yapar.
Bar kapısındaki adam-MASTER isterse içerideki 8 kişiyi tutup dışarı fırlatır atar,
kapıda bekleyen 8 bİTİ içeri alır.
Yani dışarıda slave de master a gitmek isteyen varsa
master gel diyene kadar hazır beklemek zorundadır.


Olayın kabaca mantığı böyle.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

e-zeki

mantığını anladım fakat masterdan veri yolunu açık tutmasını slaveden veriyi nasıl istemesi gerektiğini çözemedim. pic c compiler kullanıyorum. master koduna slave veri göndermesi için bir komut ekledim fakat slaveden yanıtı çekemiyorum bir türlü. masterda spi_read dediğimde slave gönderdiğim son veriyi gösteriyor sadece. bu sonunu nasıl çözebilirim?

z

Master Slave'e data yolla diye bir komut yollayacak  ve Slave'e biraz zaman tanıyacak. Ardından Slave'e boş anlamsız bir veri yollayacak. Gelen cevabı okuyacak.
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

e-zeki

teşekkür ederim arkadaşlar sorunu hallettim. slave modunda bir sıralama hatası yapmışım ondan kaynaklanıyormuş.

e-zeki

#5
Arkadaşlar tekrar merhaba
karşılıklı haberleşmeyi sağladım fakat bazen spi masterdan veri gönderdikten sonra slaveden istediğim veriyle değil, masterdan gönderdiğimle geri dönüyor. Bir de  masterda SPI kesmesine girebiliyorken, slave de giremiyorum. Sebebi nedir? Bunu nasıl engelleyebilirim? Yardımcı olursanız çok memnun olurum.