RainerKa Geschrieben 10. März 2008 Teilen Geschrieben 10. März 2008 Hallo, für eine Anwendung brauche ich einen einfachen aber schnellen Datenaustausch zwischen einem PC und einem Microcontroller. Der Parallelport des PC's mit 2 MByte sek im EPP Modus währe dafür ausreichend. Mein Problem, wie kann ich Daten in beiden Richtungen über den Parallelport im EPP Modus übertragen. Mit den Windows API Funktionen Handle = CreateFile("LPT1", GENERIC_WRITE | GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); WriteFile(Handle, Data, byteszuschreiben, &bytesgeschrieben, NULL); oder ReadFile bekomme ich es nicht gebacken. Dort kann ich zwar Daten zu einem Drucker übertragen, wenn ich aber den µC anschließe hängt sich die Write Funktion auf. Auf dem µC läuft der Handshake für den EPP Mode. Mit inpout32.DLL, komme ich auch nicht auf Geschwindigkeit. Wie bekomme ich den Datentransfer im EPP Mode hin. ? Gruß Rainer Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 10. März 2008 Teilen Geschrieben 10. März 2008 Moin! Eine möglichkeit wäre, daß der µC nicht mit der EPP-Version des PC zusammenarbeitet. Du solltest mal im BIOS nachschauen, ob Du den Modusauf eine ältere Version setzen kannst (EPP 1.7). Bei einigen Druckern wirkt das Wunder. Dann ist die Frage, ob Du die Negotiation(aushandeln des Betriebsmodus) selber in Software lösen musst, oder ob der µC bzw der entsprechende Baustein das für Dich erledigt. Es könnte sein, daß der PC auf eine entsprechende Antwort vom µC wartet und ihn als "dummen Drucker" behandelt, wenn nichts kommt. Es wäre auch interessant zu wissen, welchen µC Du verwendest und, wenn vorhanden, welcher Baustein sich um den Parallelport kümmert. Da kann ich dann vielleicht nicht viel zu sagen, aber jemand anderes könnte Rat wissen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RainerKa Geschrieben 10. März 2008 Autor Teilen Geschrieben 10. März 2008 Hallo, Der µC ist ein c167, wo ich das Timing über einen Port programmiert habe. Als Timingvorlage habe ich dieses genommem und den µC darauf programmiert Interfacing the Parallel Port Aber die Negotiation, ich programmierte bis jetzt immer nur µC oder FPGA's, PC habe ich bisher kaum programmiert, habe dem µC nur ein Handshake verpasst, wird dann wohl das Problem sein. Hast du da was zum Lesen, muß nicht unbedingt englisch sein. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 10. März 2008 Teilen Geschrieben 10. März 2008 Nein, leider nicht. Ich habe mich mal grob mit dem Parallelport beschäftigt, er war aber für meine Anwendung zu langsam und ich habe mich darum nicht groß in die Materie eingelesen. Ich glaube fast nicht, daß Dein Problem etwas mit der PC-Seite zutun hat, sondern der PC eben kein korrekt funktionierendes EPP-Gerät erkennt. Hast Du es schonmal in den einschlägigen µC-Foren versucht? Da hat sicher schonmal jemand mit EPP gearbeitet. RoboterNetz.de :: Index News - www.mikrocontroller.net Ich kann leider erstmal nicht weiterhelfen, es würde mich allerdings interessieren, wie es mit Deinem Projekt weitergegangen ist, bzw welche Lösung zum Ziel geführt hat. P.S.: Reicht die RS232 nicht für Deine Zwecke? Lässt sich dann schnell und einfach mit dem max232 realisieren. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RainerKa Geschrieben 10. März 2008 Autor Teilen Geschrieben 10. März 2008 Trotzdem Danke. RS232 langt nicht, brauche ungefähr 200000 kByte sek, ein wenig schneller ist auch nicht verkehrt. Wird wohl so sein das der PC kein EPP Gerät erkennt, wollte eigendlich nicht in den tiefen Wirren des Windows Betriebssystems umherirren. In anderen Foren habe ich auch schon gefragt, außer Roboternetz, kenn sich anscheinend Keiner so richtig mit aus Dachte Parallelkabel anschließen Windows API Funktionen aufrufen und das wars, falsch gedacht. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Guybrush Threepwood Geschrieben 10. März 2008 Teilen Geschrieben 10. März 2008 Kennst du die Seite schon? News - www.mikrocontroller.net evtl findest du da ja was hilfreiches... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
RainerKa Geschrieben 12. März 2008 Autor Teilen Geschrieben 12. März 2008 Hallo, das problem ist gelöst ihr seit mir Spezis, zumindest hab ihr versucht mir zu helfen, ist ja schon mal was, danke. Wie komme ich nun an den Parallelport des PC ran, mit inpout32.dll und wie kann ich den EPP Mode nutzen. Nach stundenlangem wühlen im Müll des Internetes, habe ich die Perle gefunden. Der Port kann den Handshake für den EPP Mode selber machen, man muß nur in die Basisadresse + 3 für die Adressübertragung und Basisadresse + 4 für Datenübertragung reinschreiben/auslesen, der Rest läuft dann von alleine. Nun komme ich auch um einiges über die angestrebte Geschwindigkeit so um und bei schaffe ich jetzt 300000 Bytes pro Sekunde, wobei der µC der Zeitfresser ist, werde wohl einen FPGA anstelle des µC nehmen, das läuft dann Hardwaremäßig, für die Datenübertragung. Möglich ist, das da irgend wo noch ein Haken ist, das werde ich noch rausfinden. Gruß Rainer. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.