Haberler:

Eposta uyarılarını yanıtlamayınız ( ! ) https://bit.ly/2J7yi0d

Ana Menü

Pinleri diziye atma

Başlatan 94onur94, 16 Eylül 2014, 20:07:20

94onur94

Merhaba arkadaşlar;
#define a pin_b0
#define h pin_b1
#define m pin_b2
#define e pin_a4
#define t pin_a2 bu şekilde pinlere atama yaptım. Ancak bir for döngüsü içinde pinleri birer birer high yapmam lazım bunu nasıl yapabilirim. örneğin döngü içinde output_high(dizi[0]); gelince pin_b0 high olacak?

Kabil ATICI

o şekilde yapman işlemci açısından daha fazla zaman alır.
Basitçe bir fonksiyon oluştur. (örneğin, hepsi_bir() gibi.) Yeri gelince sadece fonksiyonu çağır.
ambar7

RaMu

#2
Birçok şekilde yapabilirsin,
dediğin gibide olur,
ambar hocam bahsetmiş ama
yinede oluruna örnek vereyim;

const char pin_al[]={pin_b0,pin_b1,pin_b2,pin_b3,pin_b4,pin_b5,pin_b6,pin_b7};
şeklinde dizi tanımlasın;
output_high(  pin_al[i]  ); dediğinde i nolu dizi elemanına denk gelen pin high olur

yada for döngüsüde ekleyebilirsin;
for(i=0;i<=7;i++)
   {
   output_high(  pin_al[i]  );
   delay_ms(300);
   }
   output_B(0x00);
   delay_ms(300);
   
   }


Ayrıca pinler sıralı ise
   for(i=pin_b0;i<=pin_b7;i++)    //ccsc de 16g877a port B pinleri 48-55 arası tanımlı
   {                                             //yani for(i=48;i<=55;i++) ile aynı anlama gelmiş olur
   output_high(i);      //output_high(pin_x); ile aynı olur, pin_x i high yap
   delay_ms(300);
   }
   output_B(0x00);
   delay_ms(300);

şeklindede kullanabilirsin
örnekler çoğaltılabilir, daha birçok yol var.
Sorularınıza hızlı cevap alın: http://www.picproje.org/index.php/topic,57135.0.html

94onur94

Fonksiyon oluşturup yaptım döngüye gerek kalmadı cevaplar için teşekkür ederim.