USB den gelen Stringi LCD'ye yazdiramiyorum.

Başlatan Digimensch, 09 Ocak 2011, 00:22:54

Digimensch

C# da bir char degiskenini byte cevirip byte tipndeki my_buffer degiskeninin 0 indexine yükleyip LCD'ye gönderiyorum.
char x='U';
my_buffer[0] = (byte) x;
my_hid.WritePipe(my_buffer, TransactionType.Interrupt);  // USB den gönderen funktion


LCD icin CCS kodlariylada gelen bu char degiskenini LCD'ye yazdiriyorum. Burda sorun yasamiyorum ....
int8 paket[64];

usb_get_packet(UcNokta1, paket, 64);  // USB den gelen veriyi paket dizisine atiyorum burlar sorun değil ...
printf(lcd_putc,"\f%c",paket[0]);



Ama ayni sekilde bir stringi ile yapamiyorum.
C# ile su sekilde gönderiyorum
  string s = "Ugur";
            my_buffer = Encoding.UTF8.GetBytes(s);  //Stringi byte tipne cevirip diziye atiyorum
            my_hid.WritePipe(my_buffer, TransactionType.Interrupt);


CCS ile su sekilde LCD'ye yazdirmaya calisiyorum
   
int8 paket[64];
int8 x;

usb_get_packet(UcNokta1, paket, 64);  // USB den gelen veriyi paket dizisine atiyorum burlar sorun değil ...
 
for( x=0;x<64;x++)
{
 printf(lcd_putc,"%c",paket[x]);// LCD'ye yaziliyor...
         }


Char tipinde gelen veriyi LCD ye yazdiriyorum ama string seklinde gelen veriyi yazdiramiyorum.
Sorun yollama kismindami , yoksa alip LCD'ye yazdirma kismindami?
Nasil yapabilirim?
Yada baska basit yolu varmi?
Simdiden tesekkürler

Digimensch

Yardimci olursaniz sevinirim arkadaslar !!

Digimensch

#2
Sorunu cözdüm dikkat edilmesi gereken su:
C#'dan gönderdigim Byte dizisinin yaninda bu dizinin uzunlugunuda ayni dizi icinde bir indexle yolladim.(Burasi önemli)
Ve CCS kodunda bu veriyi for döngüsüyle LCD ekranina yazdirdim.
Sorunum su oluyordu gelen veriyi atadigim dizinin boyutu 64 oldugu icin ,  for döngüsüde 64 kere dönüyordu.Oysa string kisa oldugunda  sonuna hep bos karekterler atiyordu.

Gelen verinin sayisini yeine  C# danyollattim. Gelen bu sayi kadar for döngüsünü uygulayinca sorun cözüldü...
Simdi artik USB'den gönderdigim Stringi LCD'de gösterebiliyorum....
Ve sonuc:

by_sufi

merahaba.
ustadım bende C# ile pic arasında kontrol yapmayı hep hayal etmişimdir. nerden ve nasıl başlacağımı bilmiyorum. pic konusunda bilgim mevcut fakat diğer kısımlarda neler yapmalıyım bilmiyorum. bana yardımcı olablir misin?

z

C# da usb haberlesmesi icin ozel bir komponent mi kullandiniz?
Bana e^st de diyebilirsiniz.   www.cncdesigner.com

tacettin

yaptığınız c# ve ccs programını paylaşabilir misiniz?


LukeSkywalker

Hocam bu umng.dll dosyasının kullanımını anlatan bir döküman var mı?

Digimensch

Yok dostum elimde oyle bir dokuman.deneme yanilma yontemi
Ile yapacaksin....

by_sufi

ustadım araştırma yaptım. bir sürü şey buluyorum fakat bi yol göstermeniz gerekiyor. mesala C# da usb ye komutu nasıl gönderiyoruz.  hangi bölümlerden oluşuyor? pic bunu nasıl yorumluyor. felan filan yani.

by_sufi

Artık bende ilermeye başladım. Yani en azından "string" denilen ifadenin karakter anlamı taşıdığını, "int" ifadesinin sayısal anlamda olduğunu ögrendim. Senden son bir ricam olacak. son yazdığın  ccs ve C# kodlarını da paylaşır mısın? teşekkürler.

by_sufi

yaptıgınız son degişiklileri yani komutları paylaşmanı bekliyorum.