Visual C# da rs232 den veri okumak ve veri yollamak

Başlatan faruksalih, 06 Temmuz 2011, 12:59:28

faruksalih

merhabalar

bitirme projemin teslim süresi çok yaklaştı. acilen yardım arıyorum.

konu şöyle;

PIC te işlem yaptırarak rs232 nin pinine sıcaklık nem ve rüzgar hızı değerlerini yolluyorum. bu değerleri arayüzde nasıl gösterilmesini sağlarım. bi de arayüzde motor aç motor kapa butonları var bu butonlarla da bi LED i yakıp söndürmeyi yapmam gerekli.

program arayüzünü upload ettim linki : http://s2.dosya.tc/download/Z0zckQ/HavaDurumu.rar.html


acil yardım ederseniz

mehmetem

4-5 yıl önce  çalıştırmıştım. Ayrı thread şart. Visual C# da ayrı thread koşturmazsan rs232 çalışmayabiliyor,  ayrı thread koşturduğunda da zaman farkından dolayı data kaybolabiliyor. Ama çözümsüz değildi.

yamak

#2
Eğer ayrı ayrı portlardan veri gelecekse background worker kullanmanızı öneririm. eğer tek bir porttan veri gelecekse her bir veriyi ona özgü bir başlangıç byte ile birlikte gönderin sonra o başlangıç byte ından sonraki veriyi nereye aitse oraya yazdırın. örneğin rüzgar hızının başlangıç byte ı "+" işareti olsun. "+" işaretttiden bir sonraki işarete kadar olan veriyi rüzgar hızı kısmına yazdırın.

faruksalih

şuan btün değerleri okuyabiliyorum fakat bu kez sorunum şu: pic bu verileri rs232 ye yollamak için herhangi bir deger gönderilmesini istiyor. mesela motor çalıştır butonuna 1 verisi yolla demiştim butona tıkladıgmda veriler geliyor ancak 1 sn sonra veriler görünmüyo. bi döngü oluşturup sürekli veri göndermeyi sağlamam lazım ama nasıl yapacagımı bulamadım.

yamak

motor çalıştr komutunu bir kere göndermeniz gerekiyo zaten siz bir kere gönderirsiniz dur komutu gönderene kadar motor çalışır. gelen verilerin kaybolmasını da istemiyosanız programınızda hiç ölü zaman olmasın.tüm işleri kesmeleri kullanarak halletmeye çalışın.

kudretuzuner

Merhaba
PIC'in,motoru kontrol eden pinine RS flipflop(4027)bağlarsanız her bir sinyal çıkışında On ise OFF  veya tersi olur.Ben böyle bir çözüm bulmuştum.C# bilmiyorum kodu yazamıyacağım ama şöyle de bir bilgi vereyim.PC'den PIC'e motor için bir data yolladıktan belli bir süre sonra PIC'in motoru kontrol eden pinini tekrar şaseye çekiniz.Bu işlem de şu manaya gelir kontrol ettiğiniz RS flip flop(CD4027)her sinyal gelişte On ise OFF  veya tersi olacaktır.
Amatör

faruksalih

ilgilenen herkse teşekkürler. sorunu çözemedim ama projem kabul edildi. ufak bi not kırıldı tabi :) bu okul burada biter iş hayatı başlar