PORT ÇIKIŞ AYARI

Başlatan ekozo, 07 Ağustos 2012, 11:17:58

ekozo



Arkadaşlar Merhaba

Ben bir porttan veri göndermek istiyorum. yanlız bi portun 4 pinini kullanıcam diğer 4 pini şu an sürekli meşgul.  yani output_b(0XFX) gibi yani son pinlere F gönderiyorum ilk pinlere bişey göndermek istemiyorum. Gönderirsem meşgul olan pinler saçmalar diye düşünüyorum. Bu durumda nasıl bir yol izlemeliyim ? Output verisini oluşturduğum diziden alıyorum.

ziyaretci

 Doğru düşünüyorsun.Eğer diğer 4 pinide düzgün biçimde kullanmak istiyorsan diğer boş 4 pine ne planladıysan ilk 4 içinde olacak şekilde hepsini tanımlaman gerekiyor.

   Ya tek tek output_high,low yapacaksin yada  diğer boş pinlerde ne planladıysan hepsini tek tek kaydedeceksin başka çaresi yok.

  Geçenler aynı duruma bende düştüm display sürücülerde her portun 4 pini ziyan olmasın diye tek tek tanıtmıştım ne göstereceksem tabi bu seferde hafızada yer kaplıyor.

 

serhat1990

Bence hepsine aynı anda yükle . Hiç birşey olmaz. Portun durumunu bozmadan değişiklik yapacağın pota veya işlemini kullanarak yükle. En güzel çözüm budur. Az komut çok iş. Mantıksal kapılardan üşenme :)

Örneğin ,

B portunun ilk 4 pini sabit lojik 1 diyelim.
deger=0xF0;

------


if(....)deger=deger|0x01;
if(....)deger=deger|0x02;
if(....)deger=deger|0x03;
if(....)deger=deger|0x04;

output_d(deger);

bu mantık işini görür.



Logan

CCS C'de olur mu bilmiyorum fakat şunu yaz çalışır muhtemelen;

ilk 4 biti koruyacağımızı ve diğer bitlere 1010 yazacağımızı varsayalım.

deger &= 0x00001111;
deger |= 0x10100000;

İmza.