spi_writex(0x08, 0x03); Komutu hakkında bir sorum var ?

Başlatan tekniker_murat, 29 Eylül 2022, 12:03:41

tekniker_murat

Herkese selamlar.

Değerli ustalarım mikroC nin help dosyasına baktım ve spi_writex(0x08, 0x03); böyle bir komut bulamadım yani spi_writex yani buada ki x olayı kafamı karıştırdı... programı derliyorum derlemede sorun yok.

Bu komut rfm23b için kullanılmış ama özel olan tarafı nedir anlayamadım her hangi bir include dosyası ile tanımlı değil de. Help kısmında da yok ama derlemede sorunsuz çalışıyor. Bu komutun ne olduğu hakkında bilgi sahibi olan biraz bilgi verebilir mi rica etsem...

Altında şöyle bir tanımlama da yapmış

void spi_writex(unsigned char address, unsigned char daata)
{
  address |= 0x80;
  Write8bitcommand(address);
  send_8bit_data(daata);
  nSEL = 1;
}

Sanırım burada o komutu ve kullanım şeklini bildirmiş ama normal spi iletişimi neden kullanmamış da bu yolu izlemiş o da bir ayrı mantık sorusu ?
[email]murat.yagci.1984@gmail.com[/email]

devrecii

Bir Spi çıkışına birden fazla cihaz bağlıdır  Write8bitcommand(address); dediğinde ilgili chazın cs pini aktif ediliyordur.

tekniker_murat

Daha henüz denemedim ama sanırım olayın mantığını çözmüş gibiyim. Bu RFM22B modülü aslında spi iletişim ile çalıştığı yazıyor ama spi iletişimden birazcık farklı bir yapısı var.

Adres bilgisinin en yüksek biti yani 7. biti R/W olarak ayar yapılması gerekiyor. Yani modüle bir şey yazmak isteniyorsa bu modülün hangi adresine ne yazılacağını belirtirken bu adres byte'ının 7. biti ile modüle yazma işlemi gerçekleştirileceği belirtilmesi gerekiyor. Aynı işlem okuma için de yapılması gerekiyor yani bu 7. bit 0 yada 1 yapılarak isteğimiz doğrultusunda ayarlanıp 7. den aşağı doğru olan bitler ile de adres bilgisi girilmesi gerekiyor.

Bu durumda dökümanlara bakarsak Register adresleri 0x00 dan başlayarak 0x7F de son bulduğunu görüyoruz. Yani adres registerleri 0 dan 127 ye kadar toplamda 128 adet olduğu için 7. bit ile okuma yazma işlemi için kurulum yapmak gerektiği görülüyor.

Şu anda çalıştığım noktalar ise fifo registeri ve diğer önemli registerlerin ne işe yaradığı ile alakalı.

Konu hakkında her türlü doğru bilgi ve belgeye ihtiyacım var yardımcı olmak isteyene kapım her zaman açık :)
[email]murat.yagci.1984@gmail.com[/email]