Serielle Schnittstelle

Jan 08, 2004 18 Replies

Hallo, da ich für meine diversen "embedded Geräte" hin und wieder mal Testprogramme auf dem PC schreiben muß, komme ich leider nicht mehr herum dies auch für XP/2000 zu tun. Die Testprogramme sind meistens serieller Art . Bis jetzt habe ich meine Programme entweder in DOS oder aber für Windows mit Visual C++ geschrieben . Dabei programmiere ich in Windows wie unter Dos. ( direktes Ansprechen der Hardware, Konsolenapplikation). Unter Windows XP oder 2000 / NT klappt das leider nicht mehr, da Portzugriff eine priveliegierte Ausführung ist . Da ich weder die Zeit noch das Knoff Hoff habe einen Ring0 KernelTreiber zu programmieren, suche ich eine Library für C++ ( auch käuflich) mit einfachen Befehlen für die serielle Schnittstelle. Dabei brauche ich nur 3 Befehle ( lese Zeichen , schreibe Zeichen , Init serielle ). Hat jemand irgendeinen Tip ?



Was ich auf keinen Fall brauche oder möchte !!!!!



  1. Den totalen Overkill wie "Async Pro" und Konsorten.( viel zu aufwendig )
  2. Coole Port IO freischalter ( Abstürze usw ... )
  3. Ring0 Dll wie Kithara IO Accellerator ( muß man jede Menge Murks installieren )
  4. Irgendwas füe Delphi ( werd jetzt nich noch Pascal lernen )


mfg Andreas



formatting link



andreas ruetten schrieb:

r

len

Hallo,

und warum nimmst Du nicht MSCOMM.ocx? Das geh=F6rt zu Visual Basic, ist=20 aber auch mit Visaul C benutzbar.

Bye

Uwe Hercksen schrieb:

Konsolenprogramm und .OCX , das soll gehen, oder habe ich da etwas falsch in Erinnerung ?

Hallo!

Unter Delphi habe ich bis jetzt sehr sehr gute Erfahrungen mit der ComPort-Library von "Dejan Crnila" gemacht. Soweit ich weiß, gibt es die neueren Versionen auch für Vis C++. Die Möglichkeiten reichen vom einfachen send/read bis hin zu fertigen Packet-Komponenten, denen du einen Start- und End-String mitteilst, die dann nach solchen Paketen lauschen und dir das fertig empfangene Ergebniss als String übergeben - ist genial einfach.

Grüße Andreas

"andreas ruetten" schrieb im Newsbeitrag news: snipped-for-privacy@mitronik.de...

KernelTreiber

Ein Konsolenprogramm verwendet die Win32 API und kann somit auch ActiveX (.OCX) verwenden. Es läuft natürlich nur unter Windows und nicht unter MS-DOS.

Ein Beispiel für ein Konsolenprogramm ist FTP.EXE, dass mit Windows mitgeliefert wird.

Andreas

Sebastian R=F6hrer schrieb:

Hallo,

MSComm.ocx hat bei mir in mehreren Projekten problemlos funktioniert,=20 zwar unter VB statt VC, aber ich glaube nicht das es an MSComm.ocx=20 selbst lag. Allerdings gibt es bei den h=F6heren Baudraten =FCber 38400 Einschr=E4nku= ngen,=20 da bietet MSComm.ocx nur noch 56000 ; 128000 und 256000.

Bye

andreas ruetten schrieb:

[...]

Seriell-Hardware würde ich nicht direkt ansprechen, Konsole ist gut.

brauchst Du nicht, sooo schlecht/schlimm ist die Win32 API auch wieder nicht.

wenn es so wenig ist: Win32 API selbst bedienen. Oder RSAPI.DLL verwenden.

Unter

formatting link
findest Du ein paar Infos dazu.

Servus

Oliver

Oliver Betz, Muenchen

"Nomen Nescio" schrieb im Newsbeitrag news: snipped-for-privacy@dizum.com...

Na ja, beliebig kann 1 Millivolt oder 100000 Volt sein, die Schnittstellen wollen 3 bis 10 V sehen.

Ausserdem stellt sich die Frage, ob deine Spannung potentialfrei ist, also ein Pol problemlos mit Masse des PC verbunden werden kann, oder ob eine elektrische Isolation erforderlich ist.

Und dann stellt sich die Frage, wie schnell die Spannung ein- und ausgeschaltet wird, ein paar mal pro Minuteb oder tausende mal pro Sekunde ?

Eventuell eignet sich als Loesung ein Relais passend zu deiner Spannung, welches einen Eingang des seriellen Ports schaltet, oder einen Eingang des parallelen Ports. Beim parallelen Port ist ein Signal gar interrupttauglich, ACK kann also einen Interrupt beim PC ausloesen, so das das Ereignis nicht uebersehen wird.

Wenn du also weisst, was du wirklich willst, lies eine passende FAQ

formatting link
formatting link

Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net homepage: http://www.geocities.com/mwinterhoff/ de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/ Read 'Art of Electronics' Horowitz/Hill before you ask. Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.

Das haengt davon ab wie schnell du abtasten musst. Ausserdem von deinem Betriebssystem und deinen Faehigkeiten. :)

Egal, du darfst sogar in Algol68 schreiben wenn dir danach ist.

Port? Du programmierst noch unter DOS?

Olaf

"Olaf Kaluza" schrieb im Newsbeitrag news: snipped-for-privacy@criseis.ruhr.de...

Echt ? Hast nen Compiler fuer PC dazu ?

Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net

MaWin schrieb:

formatting link
und
formatting link
Offenbar hat jede noch so exotische/historische Programmiersprache im Netz ihre Fans.

CU Christian

Christian Zietz - CHZ-Soft - czietz (at) gmx.net WWW: http://www.chzsoft.com.ar/ PGP-Key-ID: 0x6DA025CA

Sie wollen mindestens +-3V sehen, nach oben sollte aber alles bis +-15V legal sein.

Micha

Ich kann DOS nicht installieren. = Ja warum nicht? = Ja, da steht dann: 'Bitte legen sie Diskette 3 ein', aber das geht nicht, da stecken ja schon 2 Disketten im Laufwerk.

"Nomen Nescio" schrieb im Newsbeitrag news: snipped-for-privacy@dizum.com...

Ich hasse Deppen, die ihre WebSite alle Naselang umorganisiern muessen. Nimm die:

formatting link
formatting link
formatting link

Manfred Winterhoff, reply-to invalid, use mawin at gmx dot net homepage: http://www.geocities.com/mwinterhoff/ de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/ Read 'Art of Electronics' Horowitz/Hill before you ask. Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.

Warum ist denn das Wort "Port" nur auf DOS begrenzt?!

# ls /dev/port crw-r----- 1 root root 1, 4 16.12.2005 04:33:25 /dev/port #

Gruß, Joe

Ich? Noe ich bin doch nicht pervers. Aber wenn du abartige Neigungen hast so koennte ich noch LISP fuer USCD haben. .-)

Olaf

Nomen Nescio schrieb:

ja.

Den Nobody-Pin.

Hast Du einen bestimmten Grund, Deine Identität zu verbergen?

Servus

Oliver

Oliver Betz, Muenchen (oliverbetz.de)

Nomen Nescio schrieb:

[...]

Deine erste Frage hatte ich beantwortet. Aber glaub's lieber nicht, ich könnte gelogen haben.

Servus

Oliver

Oliver Betz, Muenchen (oliverbetz.de)

Einen Polizisten schwer beleidigen: "Du blöder Bullenhoden!"

Dann vor Gericht: "Da hatte ich gelogen." Also: Freispruch in Sachen Schwerer Beleidigung! Freu!

PS: Dann Anklage wegen Anlügens eines Beamten.

Mit freundlichen Grüßen Helmut Schellong var@schellong.biz www.schellong.de www.schellong.com www.schellong.biz http://www.schellong.de/c.htm

Cool. Ich habe LISP für CP/M und Prolog für UCSD. Is doch knuffig, das Zeugs, oder?

Holger

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required