@detcode, hocam arkadaş bağlandı bilgisayarıma baktık biraz. Uart2_read fonksiyonu byte byte dnderiyor. yani bir dngü içerisinde tek tek okumak gerekiyor ve char dizi değil de char olarak veriyor. bahsettiğin uart1_read_text fonksiyonunu da arkadaşa tavsiye ettim, bununla daha kolay şekilde çzülür. Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam yukarıda yazdığım kodu deneme şansım yok elle yazdım ama bu mantıkla gideceksiniz.. vites ile yn verme olayını muhtemelen farklı pinlerde yapıyorsunuz. ilk if e girdiinde yn olayı için ilgili pin e çıkış verirsin, ikinci if e girdiğinde vites ile ilgili olana.. aslında bu kodu sıfır bir projeye aktarıp kendinizce bir test edin çalıştığını grürsünüz sonra kendinize gre uyarlayın Farklı pinler yok hocam. Xbee ile haberleşiyor. char okunan=Uart2_read ; ile gelen veriyi okuyoruz. rneğin "YaV1" gibi bir değer gndereyim. Okumak için tek fonksiyon var ve gelen verilerin hepsini bu kanal üzerinden yollamak zorundayım. İstediğim Komut adında bir dizi değişken olsun. Komut ="Y"; Komut ="a"; Komut ="V"; Komut ="1"; gibi ayıklamak istiyorum. Problemim ayıklamada aracı kontrol etmekte değil. arbeit macht frei

hocam yukarıda yazdığım kodu deneme şansım yok elle yazdım ama bu mantıkla gideceksiniz.. vites ile yn verme olayını muhtemelen farklı pinlerde yapıyorsunuz. ilk if e girdiinde yn olayı için ilgili pin e çıkış verirsin, ikinci if e girdiğinde vites ile ilgili olana.. aslında bu kodu sıfır bir projeye aktarıp kendinizce bir test edin çalıştığını grürsünüz sonra kendinize gre uyarlayın Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

string olarak mı alıyorsunuz hocam yoksa byte dizisi mi? neyse sonuç olarak string de bir dizidir bu şekilde dizinin elemanlarına ulaşarak ayıklama yapabilrisn gelenveri --> Yn gsteriyor if(gelenveri 'Y') // yn ise { switch(gelenver ) // sağ-sol-yukarı aşağı kontrol için } else //yndeğilse if(gelenveri 'V') // hız ise gibi bir mantıkla ilerleyebilirsin. bunu ben char dizisi olarak düşündüm. eğer byte dizi alıyorsan o zaman tür dnüşümü yapman gerek bir de strstr fonksiyonu var. şyle bir rnek buldum char txt = "mikroElektronika"; char txt_sub = "mikro"; char res; res = strstr ; burdan detayına bakabilirsin http://www.cplusplus.com/reference/cstring/strstr/ ama gelen string verilerinde benzerlik varsa yani V harfini başka şeylerde de kullanıyorsan bu tarz bir şey kullanman karışıklığa yol açacaktır Hocam problemimiz kontrolde değil. Aracı zaten stabil olarak çok güzel kontrol ediyoruz. a w s d gibi değer gnderdiğimizde. Biz aracı YaV1 geldiğinde 1. viteste a ynüne gitsin istiyoruz. Fakat gelen veriyi hiçbir şekilde ayıklayamıyoruz.4 elemanlı bir diziye atsak bile kafi ama beceremedik. strstr baya bir kurcaladım. Onunlada bir sonuç elde edemedik. arbeit macht frei

tamam hocam ben sana teamviewer vereyim bi kod yazalım orada baklım Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam o gibi diye gsterdiğin ayırması gerekiyor sanırım, nceden yaptığım bişey vardı bunun benzeri ancak bulamadım kurcalıyorum bulursam yollarımchar okunan =Uart2_read ; fln yapsan yemezmi? sonra 0 ına 1 ine filan baksanhocam uart1_read_text diye fonksiyonda varmış bunu dene birde pointerlı arraya at detCode tarafından 26/Nis/14 01:08 tarihinde düzenlenmiştir Who is detCode?

Arkadaşlar ncelikle Merhabalar, MikroC ve armstm32f0 ile bir araç kontrol projemiz var. Hexadecimal olarak uarttan gelen veriyi başarılı bir şekilde okuyabiliyorum. Fakat bilgisayar arayüzünden YaV1 gibi bir string gnderdiğimizde bunu ayıklamakta güçlük çekiyoruz. İstediğimiz şey ise şu Y ynü ifade etmekte ardından gelen a sol s gelirse geri, w ileri, d sağ. V ise vitesi 4 vites var V den sonra gelen rakamlar için 1 den 4 e kadar pvm değişiyor. Php'deki gibi bir substr oluşturamıyorum. Tecrübesi olan arkadaşlar yardımcı olursa sevinirim. İyi Çalışmalar. arbeit macht frei

hocam zelden teamviewer bilgisini yolla bağlanıp bakayım istersen Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

string olarak mı alıyorsunuz hocam yoksa byte dizisi mi? neyse sonuç olarak string de bir dizidir bu şekilde dizinin elemanlarına ulaşarak ayıklama yapabilrisn gelenveri --> Yn gsteriyor if(gelenveri 'Y') // yn ise { switch(gelenver ) // sağ-sol-yukarı aşağı kontrol için } else //yndeğilse if(gelenveri 'V') // hız ise gibi bir mantıkla ilerleyebilirsin. bunu ben char dizisi olarak düşündüm. eğer byte dizi alıyorsan o zaman tür dnüşümü yapman gerek bir de strstr fonksiyonu var. şyle bir rnek buldum char txt = "mikroElektronika"; char txt_sub = "mikro"; char res; res = strstr ; burdan detayına bakabilirsin http://www.cplusplus.com/reference/cstring/strstr/ ama gelen string verilerinde benzerlik varsa yani V harfini başka şeylerde de kullanıyorsan bu tarz bir şey kullanman karışıklığa yol açacaktır unbalanced tarafından 26/Nis/14 00:05 tarihinde düzenlenmiştir Ülkesini Seven Her Türk Vatandasi, Ülkesinin Sessiz Istilasi'na karsi durmak zorunda.

hocam zelden teamviewer bilgisini yolla bağlanıp bakayım istersen Çalıştığım bilgisayar Labda evde değil malesef arbeit macht frei