Hallo, hier nun das Programm, das unter Windows über die serielle Schnittstelle mit einem angeschlossenen Mikrocontroller kommuninziert. Die Kommunikation geschieht über eine "Port.dll" die von Burkart Kainka erstellt wurde. Da findet man auch weitere Funktionen und Beschreibungen zu dieser .dll http://www.b-kainka.de/download.htm Mit dem Programm selber lassen sich über Checkboxen auf einem Controllerboard angeschlossene LEDs an- und ausschalten, und außerdem der Zustand angeschlossener Taster abfragen. Um dauernd abzufragen müsste man einen separaten Thread starten - soweit bin ich aber noch nicht :-( Zu den im Archiv enthaltenen Programmen: rs232.c - C-Programm das in das Controllerboard kommt (Philips 89C51RD2) com.h - beinhaltet die Funktion ladeDLL() zum Laden der Port.dll Unit1.cpp - eigentliches Hauptprogramm ControllerRS232.exe - Kompiliertes und ausführbares Programm Das Projekt habe ich mit dem Borland C++ Builder 5 erstellt. Über Kommentare würde ich mich freuen, da dieses auch mein erstes Windowsprogramm in C++ ist. MfG Thomas
Hallo Thomas das ist glaub ich nicht der Kommentar den Du Dir erhoffst: Unser Firewall meldet VIRUS in Deiner .rar !!!! Gerhard
Hallo, also ich habe mir die selber nochmal runtergeladen und konnte keinen Virus finden. Welcher sollte es denn sein, wenn du eine Warnung bekommst wird ja auch gesagt welcher Virus das sein soll. Ich habe das mit eine frisch aktualisierten Norton AV 2002 gemacht, und es wurde nichts gefunden. (Obwohl das natürlich auch kein absoluter Garant für Virenfreiheit ist) Vielleicht liegt es daran dass die kompilierte .exe Datei auch drinsteckt, ansonsten werde ich die herausnehmen und nochmal posten. Mehrere einzelne Textdateien lassen sich ja leider nicht zusammen anhängen. Thomas
Hallo Thomas ich habs nochmal versucht, aber unser Firewall bleibt bei seiner Meinung und läßt den Download nicht zu. Was er gefunden hat, sagt er aber nicht. Nur: "Virus detected or file corrupted". Gerhard
Hallo Thomas (relative) Entwarnung: ich hab in unserer DV-Abteilung nachgefragt:" Äh.. ich glaub, der kann kein RAR entpacken..." Sorry Gerhard
Ok, dann halt nochmal als zip-File und nur der Quellcode ohne ausführbare Datei und dll. Sollte normalerweise nix schiefgehen. Thomas
Leider hab ich den Borland Compiler nicht. Kannst du das nicht einfach so kompilieren, daß die DLL nicht benötigt wird ?
Habs mal probiert, konnte es jedoch mangels Rechner ohne Borland Compiler gerade nicht testen. Die exe-Datei hat sich dadurch natürlich auf 400Kb vergrößert. Die Port.dll muss aber immer noch im gleichen Verzeichnis wie die ausführbare Datei stehen, da ich, um diese statisch zu linken, das Programm hätte abändern müssen.
Ein kleiner Tip: UPX benutzen (http://upx.sourceforge.net/). Das ist ein Packer speziell für exe-Files, deine 400kB verkleinern sich dann auf 161kB und das File muß später nicht mehr entpackt werden. Thorsten
Hallo Thomas ich habs aus Zeitgründen noch nicht ausprobiert, nur mal in die dateien gekuckt. Eins ist mir dabei aufgefallen: In .h-dateien sollten nur Definitionen stehen, kein Code. Aus com.h solltest Du den Code rausholen und in ein - was weiß ich - com.c oder com.cpp packen. Gerhard
Nochwas speziell für Delphi und Borland C++ Builder gibts für RS232 da noch was: http://www.winsoft.sk/comport.htm Gruß Gerhard
Ich war gerade auch mal auf der Seite. Welche Einschränkungen gibts denn bei der Demoversion ? Ich konnte dort nichts finden. Thorsten
Hallo Thorsten ich hab die Sowa schon getestet, funktioniert einwandfrei, es gibt beim Starten des Programms nur ein fenster zum wegklicken. Wenn man damit leben kann... Gerhard
Hallo Thomas_v2.1 Wenn du denn ´Link zu der Internetseite mit dem Port-Treiber angibst nehme ich an, das du ein Buch vom Autor gelesen hast. Kannst du eins empfehlen? Ich möchte mit einem Programm Daten aus der RS232 empfangen. Gruß
Die serielle Schnittstelle ist unter Windows eigentlich nicht so schwer zu programmieren, daß man zu irgendwelchen Fremd-DLLs greifen müsste. Gut, möglicherweise bereitet einem da Borlands Compiler (unnötige) Probleme - keine Ahnung, ich verwende Borland-Compiler nicht mehr, seit der Verarsche mit Borland C++ 4.0. Beispiele & Sourcen für Compiler, die MFC-Sourcen übersetzen können, finden sich unter www.codeproject.com; hier beispielsweise http://www.codeproject.com/system/serial.asp
Hallo Thomas ich hab jetzt Dein programm ausprobiert. Bei mir läuft das aber nicht. ich hab winxp, da gibts ne böse Fehlermeldung, wenn ich auf "COM öffnen" drücke: Windose meldet dann " ControllerRS232 raised exception class EAccessViolation...." und "DLL kann nicht geladen werden". Das kommt dann wohl von deinem Programm, hab nicht geschaut. Läuft das nur unter einem bestimmten BS, oder muß man da noch ne DLL irgendwohin schaufeln ? Gerhard
Die Port.dll muß im gleichen Verzeichnis sein. Ich habs auch unter XP probiert, funktioniert einwandfrei. Ist bei dir COM1 verfügbar ?
Hallo klaro, hab den Borland auf meinem 2.rechner, hab vergessen das PORT.Dll rüberzukoperen. jetzt läuft soweit. gut - hab nix dranhängen. bringt zumindest keine Fehlermeldung Gerhard
Zur Kommunikation nehme ich immer ASYNC32 von tmssoftware (http://www.tmssoftware.com/). Geht aber nur für Delphi und Borland Builder. Das schöne dabei ist, dass es Freewarekomponenten sind und sie somit keinen Einschränkungen unterliegen. Leider ist die Installation etwas kompliziert und man benötigt dringend Englischkenntnisse.
@Wolf4124: also zu dem Buch selber kann ich dir auch nicht viel sagen. Ich habe mir das mal in der Buchhandlung angesehen, fand es vom Thema eigentlich sehr interessant wie viele seiner Bücher. Leider benutzt er als Programmiersprache größtenteils irgendein Basic, oder mal Delphi/Pascal. Da ich irgendwie auf Basic keine Lust mehr habe (irgendwie musste man auf den Homecomputern von Atari800XL, Schneider CPC oder Atari ST immer umlernen, und das hat sich soweit ich das sehe heute noch nicht geändert, da es da einfach keinen Standard gibt). Deswegen wollte ich mich mehr auf C/C++ konzentrieren, da ich das Gelernte dann fast überall einsetzen kann, sei es auf Controller- Windows- oder Linuxsystemen.
Auf der tmssoftware gibts noch ein paar Demo-Beispiele, ich hab sie mal angehangen. Man kann natürlich mit diesen Komponenten noch viel mehr tun, z.B. Terminal- und Modememulation, etc. Zum Ansprechen der Seriellen Schnittstelle des PC oder mit USB-Serial-Adaptern hab ich sehr gute Erfahrungen gemacht. Zumindest erspart es das Einbinden von dll's.
wieso benuzt ihr nicht die win32 api funktionen zum kommunizieren über rs232 ich hab es mir auch wesentlich schwieriger vorgestellt einfach mit CreateFile port öffnen und mit writefile oder readfile lesen oder schreiben auf die ports greez eugen d
@Eugen Kannst du nicht einfach mal ein kleines Beispiel posten, in dem die Verwendung der von der erwähnten Funktionen demonstriert wird? Ich habe auch schon in diversen Foren versucht, "die Lösung" für mich zu finden, allerdings kommen häufig nur sehr schwammige Aussagen als Antwort. So weiss man nie, ob der Antwortende es überhaupt schon einmal selbst gemacht hat, oder einfach nur von ihm erworbenes Halbwissen weitergibt. Gruß Alex
jo mach ich kann aber etwas dauern, ich bin grad im stress wegen bund und so :-\ aber ich habe hart um dieses wissen gekämpft und möchte es gerne verbreiten ;-)*gg greez eugen etwa in 2-3 tagen poste ich es hier
hier iss nun die beschreibung wie man comports mit winapi öffnen kann, ich habe es so geschrieben, wie ich es brauchte um es zu kapieren also es iss das erste "tut" von mir zur ergänzung sollte man ( generell für windowsprogrammierung nötig) die winapi referenz saugen da sind dann auch deteils drinn die ich nur angedeutet hab ftp://ftp.cs.virginia.edu/pub/lcc-win32/win32hlp.exe
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.