Arama butonu
Bu konudaki kullanıcılar: 1 misafir
2
Cevap
1138
Tıklama
0
Öne Çıkarma
ft232R ve visual basic
N
19 yıl (79 mesaj)
Çavuş
Konu Sahibi

herkeze meraba, ardaşlar ft232R entegresi ile usbden veri almaya çalışıyorum arayüz programını visual basicte yazdım mscomm komutu ile veri gönderğimde sorun yok veri alabiliyorum fakat ft_write komutunu kullandığımda entegrenin üzerindeki tx ışığı yanıyor çıkışdan veri gönderiyor fakat aynı pic programında veriyi alamıyor iki yöntemdede aynı ayarları kullanıyorum.

mscomm için :

MSComm1.CommPort = 4
MSComm1.Settings = "115200,n,8,1"
MSComm1.PortOpen = True

ft_write için :

baunrate'i ayarlamak için:

If FT_SetBaudRate(lngHandle, 115200) = FT_OK Then
LoggerList.AddItem "Set Baud Rate OK"
Else
LoggerList.AddItem "Set Baud Rate Failed"
End If

port ayarlarını yapmak için:

If FT_SetDataCharacteristics(lngHandle, 8, 1, 0) = FT_OK Then
LoggerList.AddItem "Set Data Characteristics OK"
Else
LoggerList.AddItem "Set Data Characteristics Failed"
End If

sizce bu iki ayar arasında bi fark varmı işin içinden çıkamadım.

bir diğer sorun ise veri gönderirken for next döngüsü kullanıyorum, gonder(255) şeklinde bir diziyi gönderiyorum fakat bu işlemi yaparken program çok kasıyor ve olması gerektiğinden daha uzun bir sürede gönderiyor bunun daha pratik yolu varmıdır.

yardımlarınız için şimdiden teşekkürler.



R
19 yıl (4016 mesaj)
Yarbay

çip için gerekli driverları yükleyin
http://www.ftdichip.com/FTDrivers.htm
ve
http://www.ftdichip.com/Projects/CodeExamples/VB.htm
adresindeki VB kod örneklerine bakın.

mscomm ilede çipe ulşmaya çalışmayın...


Bu mesaja 1 cevap geldi.
N
19 yıl (79 mesaj)
Çavuş
Konu Sahibi

sitedeki visual basic kodlarını inceledim nerdeyse bütün komutlar war fakat FT_WRITE komutunun kullanımını vermemişler, modelsdeki tanımlamalara göre FTwrite komutuyla gönderiyorum çıkıştan sinyal alıyorum kakat isteğim gibi değil 1 byte göndermeme rağmen çıkıştan 1 den fazla byte gönderiyor çıkış sinyali resimdeki gibi:

< Resime gitmek için tıklayın >


vede for next döngüsüyle arka arkaya kod gönderdiğimde iki kod arasında bekleme olduğu görülüyor yani bir byte'ı 1ms'de gönderiyor. alttaki resimdede arka arkaya gönderilen kodlar var.

< Resime gitmek için tıklayın >

acaba port ayarlarıyla ilgili bi hatamı yapıyorum. normalde mscomm ile bir byte gönderdiğimde 1 start biti 8 data biti ve 1 stop biti gönderiyor fakat FT_write ile gönderdiğimde çok daha fazla kod gönderiyor, sizce ben nerde yanlış yapıyorum yardımlarınız için şimdiden teşekkürler

VB kodları aşağıdaki gibi:

ftstatus = FT_Open(0, lngHandle)
If ftstatus <> FT_OK Then
LoggerList.AddItem "Open Failed status=" & ftstatus
Exit Sub
Else
LoggerList.AddItem "Open OK"
End If


If FT_SetBaudRate(lngHandle, 250000) = FT_OK Then
LoggerList.AddItem "Set Baud Rate OK"
Else
LoggerList.AddItem "Set Baud Rate Failed"
End If



If FT_SetDataCharacteristics(lngHandle, 8, 1, 0) = FT_OK Then
LoggerList.AddItem "Set Data Characteristics OK"
Else
LoggerList.AddItem "Set Data Characteristics Failed"
End If

For a = 1 To 1024

If FT_Write(lngHandle, gonder(a), 8, bytesend) = FT_OK Then
LoggerList.AddItem "FT_write OK"
Else
LoggerList.AddItem "FT_write Failed"
End If

Next


If FT_Close(lngHandle) <> FT_OK Then
LoggerList.AddItem "Close Failed"
Exit Sub
Else
LoggerList.AddItem "Closed OK"
End If



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.