Merhaba,
Hitech compiler ile pic16f1826 kullanıyorum. Yapmak istediğim şey; ssi haberleşmesi yapan bir cihaza her clock verdiğimde, dışarı verdiği datayı değişkene atmak. 12 bitlik bir veri olacak (ama şimdilik 8 tanesini halletmeye çalışıyorum). Tek clockta 0 yada 1 gelecek, bunu data değişkeninin 8. biti yapacağım. Sonraki clockta gelen 0 yada 1 i datanın 7. biti vs.. yazdığım kod şu şekilde, fakat istediğim sonucu alamıyorum. Yardımcı olursanız sevinirim..
#define clockout RA2
#define datain RA3
unsigned char data;
unsigned char buf;
unsigned int i;
while(1){
for(i=0;i<=8;i++){
clockout=0;
DelayUs(6);
clockout=1;
buf=datain;
data=data+(buf<<i);
}
Merhabalar ; şu komutlar işini görür sanırım ... Eğer clockları doğru ayarladıysan olması lazım bu komut setinin .
İyi Çalışmalar Dilerim.
#define clockout RA2
#define datain RA3
unsigned char data=0;
for(i=0;i<8;i++)
{
clockout=0;
DelayUs(6);
clockout=1;
data<<=1;
if(datain)data|=0x01;
}