FTDI 232: nach neuem Anschließen ist alles anders

Gast #325404
Lesenswert?
• ▲
▼
Hallo miteinander

Ich habe einen PIC18F452 und einen FTDI FT232BM per USART verbunden.
Dann habe ich ein Programm geschrieben, mit dem der PIC18 Daten über
den USART sendet. Diese werden dann an meine USB-Schnittstelle
weitergereicht. Ein Visual Studio .Net C++ Programm nimmt diese Daten
entgegen und zeigt mir:
1. Die empfangenen Daten ( char RxBytes [256])
2. Die Anzahl der empfangenen Bytes (DWORD BytesReceived)

Soweit hat alles geklappt.

Wenn ich den FTDI allerdings von meinem PC abziehe und neu anstecke
funktioiert nichts mehr!
Ich kann zwar noch die Anzahl der empfangenen Bytes sehen, der Inhalt
ist aber nichtmehr vorhanden.

Muss ich irgendwelche Devices oder Endpunkte definieren?
Gast #325405
Lesenswert?
• ▲
▼
wenn du das gerät abziehst und wieder dransteckst ist es ein neues
Gerät. Du greifst eigentlich auf ein ungültiges Handle zu.
Wenn du den Fehlerstatus abfragst, sollte dies eigentlich auffallen.
Gast #325406
Lesenswert?
• ▲
▼
Ich bin in dem Bereich ganz neu. Das ist meine Augabe im Praxissemester
und hab innerhalb der letzten 2,5 Wochen von fast 0 bis hierher
gearbeitet, was eingentlich sehr gut ist...

Was kann ich jetzt mit deiner Aussage anfangen? Wie stelle ich das
statisch ein, so dass ich den Controller abziehen und einstecken kann
ohne diesen Feher hervorzurufen?
Persönliche Seite #325407
Lesenswert?
• ▲
▼
Hi

dein C++ Programm öffnet also die Schnittstelle (wie es das auch immer
macht W32-API, .NET-Klasse ...) und ließt Daten da raus. Dann ziehst du
das Gerät ab und steckst es wieder an während die Schnittstelle noch
offen ist? Das kann so nicht funktionieren da in dem Moment in dem du
das Gerät entfernst deiner im C++ Programm geöffneten Schnittstelle
sämtliche Grundlage (ein Stück Hardware und die passenden Treiber)
fehlt. Du mußt also die Schnittstelle mit einem passenden API-Aufruf
schließen und neu öffnen wenn ein solches Ereignis eingetreten ist. Wie
du das machst und wie du mitbekommst das da was nicht stimmt hängt von
der Art wie du die Schnittstelle ansprichst ab.

Matthias
Gast #325408
Lesenswert?
• ▲
▼
Da hab ich mich wohl falsch ausgedrückt.

Ich zieh das Gerät nicht wärend der Übertragung oder gar wärend das
Ausleseprogramm läuft ab. Das Programm ist geschlossen, der PIC sendet
nichts, alles Ruht, Rechenr läuft.
Jetzt zieh ich den Stecker (ohne Anwendung, die den FTDI anspricht,
liest, ...). Dann steck ich ihn neu ein: Das Programm wird neu
gestartet und funktioniert nicht mehr.
Dass das, was du angenommen hast nicht funktioniert ist mir klar...
danke aber trotzdem für den Vermutung

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.