Hallo. Ich hab das LernpaketMSR von franzis. Da ist ein ATiny13 dabei und eine Platine mit USB und FT232R drauf. hier hab ich ein Bild gefunden: http://www.ak-modul-bus.de/cat/images/products/fv45plo.gif Auf der CD sind Treiber und paar Programme. Diese Programme sind aber in binärer Form und als Quellcode in VB. Ich hab einige Programme schon ausprobiert und es hat alles gefunzt (XP). Nun würde ich gerne versuchen unter Linux in CodeBlocks mit wxWidgets ein ganz einfaches Programm zu schreiben bei dem ich einen Knopf hab und mit dem ich dann z.B. eine LED an- bzw. ausmachen kann. Ich hab schon paar Tutorials zu wxWidgets gefunden wie ich das mit der GUI machen könnte. Mein Problem ist aber, ich weiss nicht ob ich irgendwelche Bibliotheken einbinden muss um mit dem FT232R kommunizieren zu können. Unter XP musste ich den FTDI Treiber installieren um die USB Platine über eine virtuelle serielle Schnittstelle ansprechen zu können. Danach habe ich mit MProg die Signalleitungen invertiert und in einer INI Datei die Nummer der virtuellen COM-Schnittstelle eingegeben. Im Quellcode stand dann z.B. "DTR 1" oder "TXD 1" so wurde dann eine LED an- oder ausgemacht. Wie kann ich aber jetzt unter Linux in C dem FT232R sagen, dass er eine Spannung an RTS, DTR oder TXD ausgeben oder nicht ausgeben soll?
Unter Linux öffnest du die serielle Schnittstelle, die vom FTDI VCP Treiber für Linux angeboten wird. Und arbeitest dann wie auf dem Windows-Rechner. http://www.mikrocontroller.net/articles/Ports_benutzen_%28GCC%29 Ein modernes Linux dürfte den FTDI VCP Treiber bereits im Kernel haben. Die Schnittstelle kann z.B. eine solche Form haben /dev/ttyUSBx. Möglicherweise musst du für deinen Benutzeraccount noch eine udev-Rule anlegen, damit dieser Benutzter auf die Schnittstelle zugreifen darf. https://de.wikipedia.org/wiki/Udev
Ist vielleicht etwas OT, aber nach einigen Projekten mit den FTDI-Bridges werde ich in Zukunft wahrscheinlich nur noch Ethernet-Schaltungen (oder bestenfalls Enet+USB) bauen oder eben auf diese Brueckenbausteine komplett verzichten. Am Anfang war es fuer mich schon eine gute und einfache Moeglichkeit, USB-basierte Schaltungen zu entwickeln. Das Problem, das zumindest ich habe ist, dass dieser Mist einfach nicht zuverlaessig funktioniert, ob das nun am USB-Protokoll selbst (broken by design) oder nur an der Treiberimplementierung liegt, kann ich nicht sagen. Ich habe extrem viel tricksen muessen um mit dem FT232 vernuenftige (aber immernoch kaum perfekte) Verbindungen und Protokolle zu realisieren. Ohne ausgekluegelte interruptbasierte Flusskontrolle kannst Du es jedenfalls schon mal komplett vergessen. Das Problem auf Controllerseite ist halt, dass der Datenstrom byte-orientiert und nicht Paketorientiert ist, wie z.B. mit dem ENC28J60 und seinen Enet-PDUs. Ich hab in Zwischenzeit genug davon, vielleicht sollte ich mal eine Schaltung mit dem (wohl leider auslaufenden) USBN... oder eben einem anderen Bridgebaustein ausprobieren. Aber durch diese UART-Kruecke (erm -Bruecke) erwarte ich mir davon nicht sehr viel... wird meinen Anforderungen in Zwischenzeit kaum noch gerecht. Greets, Michael
@Michael Danke für den Hinweis. Gut zu wissen, dass der FT232 nicht der Bringer ist. @Krapao nochmals danke. So nun hab ichs endlich geschafft eine LED anzumachen :) Also die Kathode ist an DTR und die Anode an TXD. hier der Code falls ein Anfänger auch mal so was einfaches mal machen möchte (Keine Ahnung wie schlimm der Code ist aber er funzt falls jemand Verbesserungvorschläge hat bitte her mit) http://pastebin.com/nYBxDywe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.