SHIFTIN – PBP Türkçe
SHIFTIN DataPin,ClockPin,Mode,[Var{\Bits}...]
ClockPin ve DataPin parametreleriyle belirtilmiş pinler üzerinden senkron bir şekilde veri alır ve Var parametresi ile belirtilmiş değişkene veriyi kaydeder. ClockPin ve DataPin, sabit bir değer, 0-15 arası bir değer, 0-15 arası bir değer içeren (Örneğin: B0) bir değişken ya da pin adı (Örneğin: PORTA.0) olabilir.
\Bits parametresi opsiyoneldir ve kaç adet bitin alıncağını belirtir. Eğer belirtilmezse Var ile belirtilen değişkenin tipinden bağımsız olarak 8 adet bit alınıp kaydedilir. \Bits parametresi ile alınacak bit sayısı belirtilirse alma işleminin Mode parametresinde belirtilenden, LSB veya MSB bağımsız olarak her zaman en düşük bitten başladığı kabul edilir.
Mode parametresi ile kullanılacak isimler (Örneğin: LSBFIRST) MODEDEFS.BAS adlı dosyada tanımlanmıştır. Bu isimleri programda kullanabilmek için aşağıdaki ifade, programın başına eklenmelidir.
BS1DEFS.BAS ve BS2DEFS.BAS adlı dosyalar otomatik olarak MODEDEFS.BAS adlı dosyayı programa dahil etmektedir. Eğer bu iki dosyadan herhangi biri programa dahil edilmiş ise (“include”) MODEDEFS.BAS adlı dosyanın tekrar dahil edilmesine (“include”) gerek yoktur. Mode parametresine isim değil de sayı verilmek isteniyorsa, herhangi bir dosya (Örneğin: MODEDEFS.BAS) dahil etmeden (“include”) sayı verilebilir. Bazı Mode numaralarının isimleri yoktur ve numarası belirtilerek kullanılabilir.
Mode parametresine verilecek 0, 1, 2, 3 değerleri saat (“clock”) sinyalinin boşta iken lojik 0 konumunda olduğunu ve gönderim sırasında lojik 1′e çıkıp, gönderim bittikten sonra tekrar lojik 0 konumuna geldiğini belirtirken; 4, 5, 6, 7 değerleri ise saat (“clock”) sinyalinin boşta iken lojik 1 konumunda olduğunu ve gönderim sırasında lojik 0′a çıkıp, gönderim bittikten sonra tekrar lojik 1 konumuna geldiğini belirtir.
| Mode | Mode No | İşlem |
| MSBPRE | 0 | En yüksek bit ilk önce gönderilir. Saat (“clock”) sinyali gönderilmeden ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 0 seviyesindedir. |
| LSBPRE | 1 | En düşük bit ilk önce gönderilir. Saat (“clock”) sinyali gönderilmeden ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 0 seviyesindedir. |
| MSBPOST | 2 | En yüksek bit ilk önce gönderilir. Saat (“clock”) sinyali gönderildikten sonra ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 0 seviyesindedir. |
| LSBPOST | 3 | En düşük bit ilk önce gönderilir. Saat (“clock”) sinyali gönderildikten sonra ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 0 seviyesindedir. |
| 4 | En yüksek bit ilk önce gönderilir. Saat (“clock”) sinyali gönderilmeden sonra ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 1 seviyesindedir. | |
| 5 | En düşük bit ilk önce gönderilir. Saat (“clock”) sinyali gönderilmeden ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 1 seviyesindedir. | |
| 6 | En yüksek bit ilk önce gönderilir. Saat (“clock”) sinyali gönderildikten sonra ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 1 seviyesindedir. | |
| 7 | En düşük bit ilk önce gönderilir. Saat (“clock”) sinyali gönderildikten sonra ilk bit okunur. Saat (“clock”) sinyali boşta iken lojik 1 seviyesindedir. |
Çeşitli mod seçimlerinde veri alımlarının nasıl yapılacağı aşağıdaki şekilde gösterilmiştir:

Senkron haberleşme için gerekli olan saat (“clock”) sinyalinin frekansı 50 KHz’dir. Bu frekans osilatöre bağlı olarak değişmektedir. Bir bitin alınma sırasında saat(“clock”) sinyali minimum 2 mikrosaniye süresince konumunu korumaktadır. DEFINE ifadesi ile bu süreye 65535 mikrosaniye (65.535 milisaniye) eklenebilir. En küçük ek gecikme süresi PAUSEUS tanımlaması ile yapılır. Bu minimum süre osilatör hızına göre değişmektedir. Kullandığınız osilatöre göre elde edilebilecek minimum süreyi öğrenmek için PAUSEUS fonksiyonunun açıklamasına bakınız. Bu DEFINE ifadesi 12 bit çekirdeğe sahip cihazlarda kullanılamamaktadır.
Örneğin ekstra olarak 100 mikrosaniye yavaşlama için aşağıdaki ifade programın başına eklenmelidir:
Örnek
Bunlara da Bakın
- SHIFTOUT
Tüm fonksiyonların listesine buradan bakabilirsiniz.
Bu yazı, “İzoelektronik – Atölye” grubu tarafından, 90alper90 ve Hazar kullanıcı adlı grup üyelerinin ortak, aktif çalışması ile hazırlanmıştır.
Bağlantılı Yazılar
Yorum yapılmamış. Yapılmış
Yorum Yapın ya da Soru Sorun
Yorum yapabilmeniz ya da soru sorabilmeniz için giriş yapmanız gerekmektedir.
Hoşgeldiniz Ziyaretçi. Lütfen giriş yapın veya kayıt olun.
E-posta adresinize aktivasyon iletisi gelmediyse lütfen buraya tıklayın.