PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : War ermutlich schon 1988 da....


Atze
04.01.2006, 20:01
Tag erst mal und noch nachträglich einen guten Rutsch.....

Hab seit ein paar tagen mit dem Turbopascal 7.0 Angefangen (Liege im Bett und bin A.D Gestellt und bevor mir die Bude auf den kopf fällt...) fange ich mit ein bissel weiterbildung an wo es zur zeit hapert ist, wie lese ich die Com1 /com2 Schnittstellen aus und wie verarbeite ich folgendes...

Ich möchte gerne mein MotorSteuergerät auslesen und hab mir schon ein RS 232 Interface gebaut und (dewegen auch das auslesen!) die zeichen kommen in 0/1 beim interface an und werden dann als ASCII Zeichensatz rausgeworfen zb. 0001011001 als Byte und raus kommt dann $12h und daraus möchteich dann gerne ne verknüpfung machen .

Wer kann mir da weiterhelfen ? bzw wo bekomme ich ev. Fachbücher darüber ?:confused:


Diogenes
04.01.2006, 20:04
Als erstes: "War ermutlich schon 1988 da...." ist nicht sehr aussagekräftig.

Zweitens, und wichtiger: Was meinst Du mit "Verknüpfung"? Erfolgreich ausgelesen hast Du offensichtlich schon, aber dann...

MichiK
05.01.2006, 00:34
Solche Sachen sind in der good old SWAG (letztes Release war 1997) beschrieben, die eine Sammlung von Turbo Pascal Quelltexten ist: http://www.bsdg.org/SWAG/, COM Port Sachen: http://www.bsdg.org/SWAG/COMM/index.html

StopTCPA
05.01.2006, 02:17
Hab seit ein paar tagen mit dem Turbopascal 7.0 Angefangen


Toll.


Solche Sachen sind in der good old SWAG

GENAU.

1 Haken hat das: Was ist dein OS ? Windoof XP ? Dann wird es wahrscheinlich
NICHT funzen. Warum ? TP ist ein DOS Compiler, Windoof XP ist KEIN DOS
und erlaubt DOS-Programmen NICHT den direkten Zugriff auf Hardware wie
RS232 Ports. Solche Zugriffe werden entweder ingendwie gefaket (mit
miserabler Performance und einer Menge Tuecken) oder ganz abgeblockt.
Also zu TP musst du DOS nehmen.

Wer kann mir da weiterhelfen ?
Kaum jemand, bevor du mehr Details verraetst und dich verstaendlicher
ausdrueckst.

MichiK
07.01.2006, 11:43
alles bis Win98* geht (wo halt noch DOS die Unterlage war), Win2000 läßt dann keine direkten Zugriffe mehr zu

Xpyder
11.01.2006, 14:22
Also ich kenn nun schon zwei voneinander unabhängige Leute,
die com-Zugriff von DOS-Zeug aus (das ich programmiert hab)
unter WinXP(pro) hinkriegen. Muß das bei Gelegenheit nochmal
richtig gegenprüfen lassen - und vielleicht gibts noch
irgendeine Win-Einstellung, die zu machen ist.
Möglicherweise liegt die fehlende Bereitschaft mancher
Rechner, auf die coms zuzugreifen, gar nicht am WinXP,
sondern daran, daß vielleicht (wie ja mittlerweile üblich)
inkompatible Billighardware eingebaut ist, die man zwar via
Software dazu bringen kann, sich wie ein RS232 (also com)
zu verhalten, die aber unter DOS (wo ein "nativer UART" -
also dieser com-Chip - erwartet wird, da Registerzugriffe)
dann nicht funzen.
Wie gesagt - ich prüf das noch nach.

Desweiteren häufen sich in letzter Zeit hier im Board
(erstaunlicherweise* ) die Anfragen über hardwarenahe
Programmierung der com-Ports.
* "erstaunlicherweise" deswegen, weil ja von manch anderer
Seite auch schonmal so getan wird, als bräuchte man nix
anderes mehr außer USB. - Scheint wohl mancher doch den
Vorteil einfacher, selbstprogrammierbarer Schnittstellen
erkannt zu haben...

Leider funktioniert nicht alles, was dazu "geschrieben steht",
auch wirklich. - Mußte mich damals durch allerhand Kram
wälzen, bis ich endlich verläßliche com-Zugriffe programmiert
hatte. (Manche Leute initialisieren coms nicht richtig, was
dann z.B. dazu führt, daß sie nicht funzen, wenn sie vom
letzten Programm (wenns nicht richtig DE-initialisiert hat)
auf halb neun hängen... etc.)
Habe da auch schon paarmal geantwortet - und paar andere
Male hats mich schon ziemlich in den Fingern gejuckt... ICH
scheine hier der richtige Ansprechparter im Board zu sein,
wenn es um
- Ansteuerung älterer Hardwarekompononenten (hardwarenah)
- PASCAL-Programmier-Tricks
- 16bit-Assembler
geht.

Und so langsam denke ich, daß ich wohl dazu mal ein Tutorial
bauen werde "Wie man den COM-Port benutzt", mit all der
Theorie über RS232 und alles mit Programmierbeispielen
in Pascal UND Assembler - und vor allem in deutsch...
(Wird dann wieder von meiner Seite runterzuladen sein.)

Wen das freut - einfach freuen. Wer meint, ich will mich mit
sowas wichtigmachen - einfach mal an die Leute denken, die
sich jetzt gerade freuen...

Felix Kaiser
11.01.2006, 16:12
Generell ist es unter Windows möglich über die API einen seriellen Anschluss zu öffnen und mit dem angeschlossenen Gerät zu kommunizieren. Dafür reichen sogar normale Benutzerrechte. Es ist also denkbar, dass man von der DOS Emulation aus auch über die Standardtreiber von Windows auf die Anschlüsse zugreifen kann. Die Zugriffe würden dann wohl entsprechend auf den Standardtreiber umgemappt, genau so als würde man den Anschluss über die API ansteuern.

Diogenes
12.01.2006, 18:05
...
Und so langsam denke ich, daß ich wohl dazu mal ein Tutorial
bauen werde "Wie man den COM-Port benutzt", mit all der
Theorie über RS232 und alles mit Programmierbeispielen
in Pascal UND Assembler - und vor allem in deutsch...
(Wird dann wieder von meiner Seite runterzuladen sein.)
...


Oh ja! Tu das. Stell das dann am besten in die Coding-Wiki.

mnemonic
13.01.2006, 08:52
Normale Programme die unter NT+ ausgeführt werden laufen im sogenannten Ring3 was der Usermode ist und sind in ihren Rechten was der Zugriff auf Hardware angeht sehr beschnitten.
Es verbietet einem niemand sogenannte "Kernel Mode Driver" (KMD) zu schreiben, die dann im Ring0 (Kernel/Betriebssystemkern) laufen zu schreiben. Damit hat man dann wieder "pedal to the metal" Rechte.
Allerdings muss man dann höllisch aufpassen, denn wenn da was schief läuft ist in 99% aller Fälle der BSoD am Start.

Hier finden sich einige Links, die ich mal ins alte Wiki eingebunden habe:
http://malo.ircis.de/cw/index.php/Links:Assembler
Sobald ich mich mit dem neuen Wiki angefreundet habe werde ich die auch dort einpflegen.

Grüße