(http://img514.imageshack.us/img514/3428/86605321qw9.gif)
yukarıda 74595 shift register için CCS içinde bulunan sürücü dosyasını görüyorsunuz, örneğin bu sürücüyü aşağıdaki şekilde kullanabiliyoruz
(http://img49.imageshack.us/img49/714/75323168xh0.gif)
yani sürücü içerisindeki fonksiyona &veri ile veri değişkeninin adresini gönderiyoruz, fonksiyonda bu adresteki veriyi seri olarak 74595 çipine gönderiyor, burası tamam
fakat anlamadığım sürücü dosyası içerisindeki şu satır;
void write_expanded_outputs(BYTE* eo)
buradaki BYTE* ın anlamı ne? (BYTE eo) olsa ne farkederdi?
oradaki byte* de adrestir kardeş ...
mesela
int *ptr = int* ptr aynı şeydir...
oradaki eo da byte türünden bir değişkenin adresi...
CCS de pointerlar kaç byte yer kaplar bilmiyorum. Ama eo bellekte bir yerdir. Ve içeriği bir adrestir. Bu adresteki veri ise byte tipindedir.
Yani eo bir byte lık verinin yerini gösteren pointerdır.
"byte* eo" yazmakla "byte *eo" yazmak arasında fark yoktur.
http://vr.me.ncku.edu.tw/courses/html/oop95/download/PointerSupplement.pdf
int *xy;
diye bişey görünce pek şaşırmıyorum ama
int* xy;
gibi görünce ilginç geldi, belkide böyle daha mantıklı bir gösterimdir bilemiyorum