Herkese merhaba 74hc595 kullanarak çıkışına bağlı 8 ledi yakmak istiyorum.10100110 şeklinde ledler yanacak , uygulamayı gerçekleştirdim fakat kodlama kısmında fazla komut kullandığımı düşünüyorum.Aşağıda göreceğiniz resimdeki gibi her bir 8li led kombinasyonu için aşağıdaki komutu yazmak hafızayı dolduruyor.Kodları kısaltmak için kullanabileceğim bir komut varmıdır ?
void process(unsigned int8 data)
{
unsigned int8 next;
for(next=0; next<=7; next++)
{
if (data & 0x80 ) { ds=1; } //data & 0b1000 0000 yani data nın en soldaki biti ne?
else ds=0;
data=data<<1; //sonraki adımda data nın bir sonraki bitine bakmak için datayı bir sola kaydır
delay_us(500);
clock();
}
}
kullanırken
process(gonderilecek_data);
veya
process(0xA6);
void process(unsigned int8 data)
{
unsigned int8 next;
for(next=0; next<=7; next++)
{
if (data & 0x80 ) { ds=1; } //data & 0b1000 0000 yani data nın en soldaki biti ne?
else ds=0;
data=data<<1; //sonraki adımda data nın bir sonraki bitine bakmak için datayı bir sola kaydır
delay_us(500);
clock();
}
}
kullanırken
process(gonderilecek_data);
veya
process(0xA6);