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