Seite 1 von 1
FT232 RL via D2XX Treiber ansprechen
Verfasst: 06.06.2008 19:43
von stalky13
HI
Ich hab mir ne schaltung mit nem µc aufgebaut und nem ft232rl (usb zu seriel konverter) der µc soll später mal eine rgb led matrix ansteuern...
so nun bin ich an dem punkt angelangt an dem ich die usb verbindung aufbauen muss ich hab nuch noch nie was mit dem ft232 oder mit usb gemacht ... vieleicht hat ja schonmal jemand was mit einem ft232 gemacht

für hilfreiche tipps zum ansprechen von meinem ft232 wäre ich dankbar oder vieleicht hat ja jemand sogar ein beispiel in pb oder c
die dokumentation zum d2xx treiber gibts
hier
mfg stalky
Verfasst: 07.06.2008 12:39
von stalky13
servus
so habs jetzt geschafft daten zum µC und zurück zu rechner zu senden

....
den FT232 kann man nach dem mann den treiber installiert hat mit dem programm MProg Konfigurieren Herstellername Device deskription usw...
hier mal mein test code:
Code: Alles auswählen
#FT_OK = 0
#FT_OPEN_BY_SERIAL_NUMBER = 1
#FT_OPEN_BY_DESCRIPTION = 2
#FT_OPEN_BY_LOCATION = 4
#FT_BITS_8 = 8
#FT_BITS_7 = 7
#FT_STOP_BITS_1 = 0
#FT_STOP_BITS_2 = 2
#FT_PARITY_NONE = 0
#FT_PARITY_ODD = 1
#FT_PARITY_EVEN = 2
#FT_PARITY_MARK = 3
#FT_PARITY_SPACE = 4
#FT_FLOW_NONE = $0000
#FT_FLOW_RTS_CTS = $0100
#FT_FLOW_DTR_DSR = $0200
#FT_FLOW_XON_XOFF = $0400
#FT_BAUD_9600 = 9600
#FT_BAUD_19200 = 19200
#FT_EVENT_RXCHAR = 1
#FT_EVENT_MODEM_STATUS = 2
If OpenLibrary(0, "FTD2XX.dll")
Debug "dll geladen!"
If #FT_OK = CallFunction(0, "FT_OpenEx", @"RGB LED Matrix Treiber", #FT_OPEN_BY_DESCRIPTION , @hdev)
Debug "FT232RL geöffnet"
If #FT_OK = CallFunction(0, "FT_SetDataCharacteristics", hdev, #FT_BITS_8, #FT_STOP_BITS_1, #FT_PARITY_NONE)
If #FT_OK = CallFunction(0, "FT_SetFlowControl", hdev, #FT_FLOW_NONE, 0, 0)
If #FT_OK = CallFunction(0, "FT_SetBaudRate", hdev, #FT_BAUD_19200)
Debug "FT232RL ist konfiguriert"
dat.c = 123
If #FT_OK = CallFunction(0, "FT_Write", hdev, @dat, 1, @size)
Debug "daten gesendet: "+Str(size)
While rxbyte = 0
If Not #FT_OK = CallFunction(0, "FT_GetStatus", hdev, @rxbyte, @txbyte, @status)
Debug "error beim status anfordern"
EndIf
Wend
size = 0
dat = 0
If #FT_OK = CallFunction(0, "FT_Read", hdev, @dat, 1, @size)
Debug "daten gelesen: "+Str(size)+" daten: "+Str(dat)
Else
Debug "error beim lesen"
EndIf
Else
Debug "Fehler beim senden"
EndIf
Else
Debug "error beim einstellen der baudrate des FT232RL"
EndIf
Else
Debug "error beim einstellen der flow_controle"
EndIf
Else
Debug "error beim einstellen der snittstelle des FT232RL"
EndIf
Else
Debug "error beim öffnen des FT232RL"
EndIf
Else
Debug "dll nicht gefunden!"
EndIf
ich find den chip einfach toll ist nicht kompliziert zu handaben nur zum einlöten ist er ein bischen zu klein

kann ihn aber sonst weiterempfehlen
mfg stalky
Verfasst: 07.06.2008 22:12
von Helmut
Verstehe ich richtig, erst den Baustein Desciptor mit Mprog programmieren und dann findet das Purebasic ihn erst?
Interessehalber:
Mit was für eine Programmiersprache ist der Microkontroller programmiert und von welcher Fa.?
Gruß Helmut
Verfasst: 10.06.2008 20:06
von stalky13
hi
Helmut hat geschrieben: und dann findet das Purebasic ihn erst?
das kommt daruf an mit welcher metode man den ft232 öffnet ich öffne ihn nach der beschreibung die ich zufor mit MPROG eingegeben habe.
Code: Alles auswählen
CallFunction(0, "FT_OpenEx", @"RGB LED Matrix Treiber", #FT_OPEN_BY_DESCRIPTION , @hdev)
die function FT_OpenEx sucht nach ft232 chips die mit dem rechner verbunden sind und die beschreibung (descripion) "RGB LED Matrix Treiber" enthalten ... von anfang an steht da glaubich FT Serial Converter oder sowas drin ... und dann würde er ihn ned finden weil ich ja nach "RGB LED Matrix Treiber" suche ...
wenn man nur einen von den dingern hat dann kann man auch FT_Open verwenden da muss man nen index angeben welchen chip mann öffnen will ... wenn nur einer da ist dann gibt es nur den index 0 aber wenn man mehre hat dann muss man die ja irgenwie ausernander halten ich hab jetzt nur einen aber später vieleicht mal mehrere und dann benutze ich die beschreibung um die controler auseinader zu halten...
zu deiner anderen frage ich programmiere pic controler vom microchip für meine matrix ferwende ich einen 18f452 die µc programmiere ich in c ebenfalls mit der ide von microchip
mfg stalky