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.
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.
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:
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.
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