NI Ürünleri İle İlgili Tartışmalar

cancel
Showing results for 
Search instead for 
Did you mean: 

Labview de USB üzerinden PİC'e veri gönderip,PİC'ten okuma yapmak için

Labviewde USB üzerinden AI01 ile AI14 aralığında PİC(18F4550) e bilgi gönderip  16 bitlik geri dönüşü önce gönderilen bilgi sonra da 16 bit sayı olarak göndermesi gerekiyor. Örneğin labviewden PİCe   AI05 bilgisi gönderildiğinde ilk 16 bitlik sayı A ve I harflerinin ascii karşılığını, sonra 0 ve 5 rakamlarının ascii karşılığını son olarak da analog uçtan okunan değerin 16 bitlik sayısal değerini göndermeli.Yani geriye AI harfleri için 18753 ve 0 ve 5 harfleri (sayı değil ascii karşılık) için 13616 gelir ve son 16 bitlik paket ise okunan analog değer olup 0-1024 sasında bir değerdir. Aslında 18753 değeri hex değeri olarak 4941 değeridir. 49 hex değeri 73 desimal değerine ascii olarak da “I” harfine, 41 hex değeri 65 desimal değerine ve ascii olarak “A” harfine denk gelmektedir. Aynı şekilde ikinci paket 13616 sayısal değeri aslında 5 ve 0 değerlerinin ascii sayısal değerinin 16 bit yapılmış hali.Son paket ise olduğu gibi kullanılacak değerdir. 

 

Labview programını yeni yeni öğrenmekteyim.Bu işlemleri yaptırabilmek için visual seri conf. bloğunu kullanmıştım ki orada data biti 8 den 16 ya değiştiremedim bunu yapamıyor muyuz?

Ve benim yukarıda yazdığım işlemi gerçekleştirebilmek için "AI01" dizisini göndermek için hangi bloğa ihtiyacım var ? Yardım edebilirseniz sevinirim

0 Kudos
Message 1 of 2
(2,589 Views)

seri haberleşme 8N1 şeklinde olabilir yani bir seferde 1 byte yazabilirsin 16bitlik göndermek istiyorsan 16 biti bitwise operatörler ile 8-8 ayır pice öyle gönder sonra picte tekrar birleştir. işlemi yaparken termination char özelliğini pasif yaparsan ascii iletişimde sorun yaşamazsın termination char açıksa göndereceğin rakamı typecast ile stringe çevirip gönder picte tekrar stringi sayıya çevirecek fonksiyon yazman lazım. 

0 Kudos
Message 2 of 2
(2,576 Views)