VB seri port iletişim sorunu...

Başlatan Altuntas_erhan, 29 Şubat 2008, 08:18:18

Altuntas_erhan

Arkadaşlar merhabalar,  USB'den seri'ye çevirici kablo ile max232 arayüzü kullanarak PC'den  PIC devreme VB'den veri gönderiyorum ancak devremdeki ledlerde herhangi bir durum yok. Sanki hiç veri gelmiyor...

Bağlantılarımın doğru olduğuna inanıyorum. Şüphelendiğin konu, bu çevirici kablosundan veri gelmediği... Verinin gelip gelmediğini nasıl anlayabilirim? İkinci sorum da, bazı arkadaşlar dizüstü bilgisayarlarda seri iletişimde sıkıntı yaşadıklarını yazmışlar. Benim bilgisayarım da dizüstü olduğundan acaba sorun ondan olabilir mi diye düşünüyorum...

Şimdiden teşekkürler...

re3ii

bende cevirici ile calışma yaptım ama başarılı olamadım cok zor gozukuyor cevirici ile iletişim

mavi

donanım ayarlarına girersen orada comport numaraları var com 1 com 2 com3 gibi usb den debug programları ile veri göndermeyi ve alamayı yappıyorum büyük ihtimalle ya port numaran yanlıştır yanlış port açıyorsun yada portu açamıyorsun.programınla önce portu aç kullanımda kalsın  yalnız doğru portu aç.sonra debug programlarından biri ile portu tekrar açmayı dene port açılmazsa zaten açık derse yazılımda büyük bir hata yoktur ama öncelikle yazdığın programdan başka çalışan bir comport debud programı ile sistemden veri çıktığını gör...yani seri porta bir led vs. bağla dışarı veri çıkınca led yansın.bir de hand shaking olayı var hand shaking olarak pportu açarsan ve sadece üç kabloyla iletişim yaparsan çalışmaz.hand skaingde daha çok kablo kullanaman lazım yada emulasyonla kabloları kısa devre vs. yapman gerek.
Telecommander Monster Of Network

ferdem

Ben de aynı yapıyı sıkça kullanıyorum, usb-rs232 çevirici ve max232 seri port buffer.  

Bendeki çevirici sl-232 markalı bir çevirici, "driver" ları sanırım eski sürüm windowslar için yazılmış, ara sıra win xp de sorun olabiliyor.

Devrenizi ve iletişimi test etmek için VB uygulamasındandan önce:

1) Çeviriciyi bilgisayarınıza taktıktan sonra "Aygıt Yöneticisi"nden comport olarak görebiliyor musunuz? Göremiyorsanız bilgisayarınız çeviricinizi görmüyor demektir. Görebiliyorsanız:

2) http://www.docklight.de/download_en.htm adresinden bir terminal programı olan "Docklight" ı indirip kurunuz. Kullanışlı bir terminal programı.

3) Programı çalıştırıp "Aygıt Yöneticisi" nden bakıp öğrenmiş olduğunuz comport nosunu "Docklight" port ayarlarından giriniz, yani "Docklight" tan comportunuza bağlanınız. Max232 TTL çıkış ve TTL girişi kısa devre yapıp, "Docklight" tan "connection open" dedikten sonra  herhangi bir veri gönderiniz, yani bir tuşa basınız (Keyboard console u ON yapmayı unutmayınız). Programın sol üst tarafında gönderilen veri ve alınan veri için alışveriş esnasında mavi ve kırmızı renkli oklar beliriyor. Veri gönderirken bu iki oku aynı anda görüyorsanız sisteminiz(çevirici + max232) doğru çalışıyor demektir. Yani göndermiş olduğunuz veriyi geri almış oldunuz.

NOT: Tüm bunları yapmadan önce herhangi bir sorun olmaması için devrenizi bir kez daha kontrol ediniz. Kolay gelsin.

Altuntas_erhan

Ferdem kardeş, yardımların çok işime yaradı... Allah razı olsun... İyi ki varsınız...

Bu arada sorunu tespit etmiş oldum, Visual Basic 6.0 programında yazdığım program, seri porttan veri gönderiyormuş gibi görünüyordu ancak göndermediği anladım. Nedeninin, USB<>Seri çevirici kablo olduğunu düşünüyorum. Sanırım program eski olduğu için durumun hakkından gelemiyor. Ben de şimdi Visual Studio içerisindeki Visual Basic ile deneme yapacağım. Tabii, içerisindeki komponentin kullanımını bulur bulmaz...

Sorunun hakkından gelebilirsem, güzel bir kaynak hazırlayarak benden sonra bu işlerle uğraşacaklara yol göstermeyi hedefliyorum...

Yardımlarınız için tekrar teşekkür ederim... Dua ile...

Lütfi AYYILDIZ

@ Altuntas_erhan;
usb-rs232 kablolar zaten ttl seviyesinde çıkış verir. Yani max 232 kullanmanıza gerek yok. Bunu şu şekilde düşünebilirsiniz 2 tane max 232 yi ard arda bağlamak gibi. Doğal olarakta iki defa invert edilmiş veri.Sanırım driverlerınızda da problem var, forumda belirtilmiş aynı şeyleri yazmanın bi anlamı yok. Bu sanal porta veri gönderirken com1,2 3 ve ya daha fazla bir değer olarak denemenizde fayda var,zira hangi port olduğunu bilmiyoruz her makinada farklı bir port numarası çıkıyor.

CaFFeiNe

Alıntı yapılan: "cobra07"@ Altuntas_erhan;
usb-rs232 kablolar zaten ttl seviyesinde çıkış verir.

eminmisiniz? ben böyle bir kabloyu arkasına max232 bağlayarak problemsiz bir şekilde kullanıyorum.

Lütfi AYYILDIZ

Alıntı yapılan: "CaFFeiNe"
Alıntı yapılan: "cobra07"@ Altuntas_erhan;
usb-rs232 kablolar zaten ttl seviyesinde çıkış verir.

eminmisiniz? ben böyle bir kabloyu arkasına max232 bağlayarak problemsiz bir şekilde kullanıyorum.
Sanırım kablodan kabloya farkediyor. Ben usart ı direk olarak kullanıyorum,eğer dediğniz gibi olsaydı max 232 kullanmak zorunda kalırdım.