ccs c lcd_getc() komutu kullanımı

Başlatan pikçi, 09 Haziran 2015, 00:01:44

pikçi

CCS C pic programlamada lcd_gets(3,1) komutu ile bir karakter alabiliyoruz .Ben kelime aralığı almak istiyorum mesela  o an lcd'de "yusuf" yazılı olsun oradan "usu" kelimelerini almak istiyorum bunu nasıl yapabilirim.

pikçi


atomx

Kolay gelsin. Ccs bilmem ama bir dongu acin aldiginiz her i satirinsaki karakteri char * dizesi icine ekleyin. Bir çözüm olabilir.
Hüseyin TECER

semihel

cevab yazacak yok mu?

#define boyut 5
char _string[boyut];

void lcd_getstring(int x, int y, int len)
{
   int i = 0, c = 0;
   //len kaç karakter alcamızı belirtiyoruz
   //len boyut dan her zaman için kuçuk olmalı çünkü
   //string dedimiz şey char dizisinin son elemanın null ile bitmiş hali
   //son eleman null olmazsa print turu komutun o string değişkenin yazmada
   //sıkıntı çıkarır
   
   if(len < boyut)
   {
      for(i=0; i<len; i++)
      {
         _string[c] = lcd_getc(x+i, y);
         c++;
      }
      _string[len] = 0;//
   }
}

biraz daha duzenlemeyle baz yerleri kırpılabilir kolay gelsin

vitruvius

Merhaba, arkadaşın da dediği gibi bir döngü ile kolaylıkla yapabilirsiniz.

Örnek;
char ch_lcd[15];
int cnt=0;

printf(lcd_putc,"\fyusuf");

for(cnt=2; cnt<5; cnt++)
{
    ch_lcd[cnt-2] = lcd_getc(cnt,1);
}
      
printf("%s", ch_lcd);


Döngü bir sayaç kullanarak lcd'de 1. satır 2. ve 5. sütünlar arasını alıp, ch_lcd dizisinin ilk elamanından itibaren yerleştiriyor.

Programın çıktısı da "usu".

Kolay gelsin.

pikçi

Çok teşekkür ederim yardımlarınız için  :)