mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FTDI 232: nach neuem Anschließen ist alles anders


Autor: Stefan Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Stefan Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Μαtthias W. (matthias) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Stefan Walter (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.