Değişkeni seri haberleşme ile bilgisayarda görebilme.

Başlatan zuzunin, 29 Ekim 2018, 12:41:07

zuzunin

İnt16 türünde tanımlanan encoder ismindeki değişken int_ext kesmesi ile değeri motor yönüne bağlı olarak artıyor veya azalıyor. Bu kodu encoder okumada kullanıyoruz, sorunum ise bu değişken olan değeri usb ttl ile bilgisayar ekranında görebilmek.

#int_ext
void  ext_kesmesi ()   
{

  if(input(pin_b0)==1&&input(pin_b1)==1)    if(encoder>0) encoder--; 
  if(input(pin_b0)==1&&input(pin_b1)==0)    encoder++;   
  rpm_buffer++;
output_high(pin_c5); // Enable pinini aktif ettik.
printf("encoder");  
 
 enchata=0;
   
 
 
}

Kesme meydana gelince encoder ismindeki değişken artıyor veya azalıyor ben  o andaki artışı veya azalışını seri haberleşme ile ekranda görmek istiyorum.

printf("encoder"); ile gönderiyorum ekranda ise encoder ifadesini görüyorum, encoder yerine encoderin değerini nasıl görebilirim?






zuzunin

Sorunumu çözdüm int16 türündeki ifadeyi gönderirken
%ld
kullanılıyormuş. %d int8 içinmiş.

if(input(pin_a3)==0)
 
 {
 
output_high(pin_c5); //Enable pini 1 yapıldı.
printf("\rEnkoder Degeri-> %ld",encoder); // İnt16 türündeki veri gönderildi.
output_low(pin_c5);  // Enable pini 0 yapıldı.

 }