![]() |
SERIELLE SCHNITTSTELLE "Mühlespiel"
Hallo.
ich habe schon das ganze Inet durchstöbert. und nix gefunden, :wall: ihr seit jetzt die letzte möglichkeit. Mein thema: ich will die position der Spielsteine im "Mühlespiel" über sensoren und die serielle schnittstelle ermitteln. und über delhi grafisch darstellen!!! MEIN PROBLEMM: wie kann ich mit delphi die serielle schnitstelle ansprechen. und daten über sie einlesen. und dann in delhi verarbeiten. wäre sehr dankbar über genaue antworten. am besten mit beispiel und Quelltext. Vielen Dank im vorraus!!!! |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Welches Betriebssystem?
|
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Fuer alles was mit der seriellen Schnittstelle zusammenhaengt ist TurboPower Async Pro zu empfehlen.
Seit einiger Zeit frei unter der MPL erhaeltlich ![]() Ich wuerde das aber nicht mit der seriellen Schnittstelle implementieren. Das IO-Warrior Starter Kit von Code Mercenaries bringt dir 32 IO-Leitungen ueber USB. ![]() ![]() Beispielsoftware in Delphi ist dabei (von mir :-) Hier mal ein Link was die Leute so mit dem IO-Warrior machen. ![]() |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
ich habe das Betriebsystem Win 98.
gibt es vieleichgt schon vorgefertigte proceruden oder functionen? |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
HY Scorpio!
Warum lässt Du nicht mehr Details rüberwachsen, damit wir Dir effektiv helfen können. Gibt es die "Mühlespiel-Hardware" denn schon? Ist dort ne serielle Schnittstelle fest implementiert? Kennst Du Übertragungsprotokoll und Baud-Rate? Nu ma Karten auf den Tisch ... :!: Gruss OLLI |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Also mein projekt mal ganz ausführlich.
es ist ein spielbrett. mit 24 positionen wo steine drauf liegen können. unter diesen positionen habe ich reed-kontakte die auf magneten reagieren. diese führ ich alle samt über ein tastenfeld, wo ich die kontekte durch meine ersetze. (bis dahin ist es noch kein problem, alles reine lötsache) aber jetzt kommt das problem. ich muss per serieller schnittstelle die daten einlesen, und diese dann im delphi verwerten, und auf einem eingescannten Spielbrett die positionen ausgeben. so das man jeden spielzug am monitor mitvervolgen kann. also muss er ständig abfragen ob sich was verändert hat seit dem letzen datenpacket. des ist aber dann feinsache. ich muss erstmal wissen wie ich des genau mach. nur die daten über schnittstelle zum rechner(delphi), des kann man doch bestimmt ohne irgendwelche tools machen. sondern mit reinen programierschritten des dephi. denn dafür gibt es doch bestimmt befehle oder proceduren. Hoff des war einiger masen ausführlich genug, und hoff ihr könnt mir weiter helfe. Skorpio |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Du hast immer noch nicht erklaert ob du bereits eine serielle Schnittstelle an deiner Peripherie hast.
Weisst du ueber Entprellen Bescheid? |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Da kann ich mich Roberts Frage nur anschliessen...
Sofern das Tastenfeld noch keine Serielle S. hat, brauchst Du einen Microcontroller mit ausreichend freien Ports, der Dein Tastenfeld (Matrix!?) abfragt und diese Info via RS232 zum PC sendet. Dazu wird noch ein IC benötigt, der die Signale vom TTL Pegel in den PC Pegel wandelt. Eine Spannungsversorgung sollte auch nicht fehlen. Prinzipiell also nur ein bissi Löten. :zwinker: Das Programmieren ist dann in der Tat das geringste Problem. Gruss OLLI |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Des mit der schnitstelle und so weiter ist net mein ding.
des amcht ein kollege von mir. meine aufgabe ist nur die daten die dann über die schnittstelle kommen zu verarbeiten. Und dafür wollte ich die befehle, proceduren , functionen wissen, fals vorhanden natürlich :-D hatte schon alles mögliche abgesucht, aber nie was passendes gefudnen, deswegen dachte ich wenidest dich mal an die profis. Gibt es denn dafür bestimmte funktionen oder ähnliches. oder vorgefertigte beispiel Quelltexte, damit man des mal anchvolziehn kann. sollte jemand sowas haben bzw draufhaben...........dann wäre ich über einen schnipsel davon erfreut :spin2: |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Guckst Du hier:
![]() |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Danke Phoenix.............
Aber um ehrlich zu sein, die seite die du mir gegeben hast, hilft mir net grad weiter, kannst du mir veraten was man da machen muss?! und was heißt: "Die ComPort Library ist Async Pro" ??? :mrgreen: wäre ist des sozusagen ein programm für delphi oder wie seh ich des???? oder wie muss man des anwenden?! so viele neue fremdwörter, da dreht man ja durch! :roteyes: |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Zitat:
Kenn ich dich aus der Schule ? Das Projekt kommt mir irgendwie bekannt vor :mrgreen: Aber nun zu deiner Frage: Die ComPort Library ist Async Pro ist meines wissens nach Komponennte die dir beimÜbermitteln der Daten hilft, aber musst du denn den ComPort benutzen ? Vielleicht wäre hier der LPT einfacher, da du hier 8 Datenleitungen benutzen kannst. gruss MrKnogge |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Ist die ansprechung der Parallelschnittstelle gleich wie die serielle??
gibt es da unterschiede? oder ähnlichkeiten. bzw auch eine komponenten. oder ähnliches? |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Nach langer überlegung ´habe ich in erwegung gezogen über die parallele schnitstelle die daten zu erfassen.
doch leider habe ich genauso wenig über parallele egfunden wie über serielle!! gibt es da unterschiede?!?! oder kann man die gleichen Kopponenten benutzen? wenn ja, sind es dann andere befehle? oder sind sie identisch? hat paraller schnittpunkt irgendwelche vorteile? weiß des jemand genau? Gruß Skorpio |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
also wenn du jeden pin einzeln setzen willst dann kannst du das unter win98 (unter nt/2000) geht das nur mit
nem treiber den status eines einzelnen pins mittels assembler abfragen. erstmal die pins in einer übersicht ########################################## DataRegister, 0, Out printerdata StatusRegister, 1, IN printerstatus ControlRegister, 2, Control printerfunctions. (Dataregister (offset = 0)) ---------------------------------- | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | ---------------------------------- ..|...|...|...|...|...|...|...|_____ D0 Out. ..|...|...|...|...|...|...|________D1 Out. ..|...|...|...|...|...|__________ D2 Out. ..|...|...|...|...|____________ D3 Out. ..|...|...|...|_______________ D4 Out. ..|...|...|__________________D5 Out. ..|...|____________________ D6 Out. ..|_______________________D7 Out. (Statusregister (offset = 1)) ---------------------------------- | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | (all read) ---------------------------------- ..|...|...|...|...|____________ Error. ..|...|...|...|_______________ Select. ..|...|...|__________________PE. ..|...|____________________ ACK. ..|_______________________Busy (inverted) (Controlregister (offset = 2)) ---------------------------------- | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | (OUT AND IN.) ---------------------------------- ..........|...|...|...|...|...| ..........|...|...|...|...|...| ..........|...|...|...|...|...|____ Strobe (inverted.) ..........|...|...|...|...|_______ Auto Feed. ..........|...|...|...|_________ Init (inverted.) ..........|...|...|____________ SLCT IN (inverted.) tech60....|...|_______________ IRQ Enable tech60....|__________________ Direction, PS2 or later AT Devices, 0 = write, 1 = read *) asm geht dann ungefähr so #############################
Delphi-Quellcode:
Const
lptport = $378; DataRegister = $00; StateRegister = $01; ControlRegister = $02; // lesen port := lptport + gewünschtes register asm mov dx, Port in al, dx Mov Value, AL end; Value beinhaltet den aktuellen wert deines registers // schreiben port := lptport + gewünschtes register value hat den wert den du in das register schreiben willst asm mov al, Value mov dx, Port out dx, al end; wenn dir das ungefähr weiterhilft sag bescheid dann poste ich mal kompletten code hier. mfg, mika |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Danke des sieht schon mal nach was aus,
werde es mal überarbeiten und gucken ob des mir weiter hilft. aber sowas in dert art habe ich gesucht. danke nochma. Gruß Skorpio |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
alles klar,
viel spaß beim coden :) wenn noch was ist einfach hier melden. mfg, mika |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
hi
also mir hilft es weiter könntest du bitte mal den ganzen Quelltext posten! und von welchem typ muss port sein?? thx im voraus |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
Hi mika...
des von vorhin war ja für parallel..oder? Ich bräuchte das ganze für seriell...wie sieht es dann da aus? Kannst des vielleicht au nochmal schreiben... :love: Danke.... |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
hi,
habe deine nachricht bekommen, ich schreib hier heute abend mal n kleines programm und häng den quelltext dann hier rein. bis heute abend, mika |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
hallo,
der flomei hat grade auch n thema eröffnet in dem er auf die parallele schnittstelle eingeht. da steht auch noch ne ganze menge code den man für dein projekt gebrauchen könnte. wenn du dann wirklich nicht weiterkommst dann schick mir mal deinen source und eine beschreibung von dem was du haben musst. dann helf ich dir in deinem programm so n bisschen weiter und damit die anderen auch was davon haben kannst du das ganze ja wenns fertig ist hier veröffentlichen :) mfg, mika |
Re: SERIELLE SCHNITTSTELLE "Mühlespiel"
hallo mika.............
hab mal ne frage........ und zwar: wenn ich einlese ( per componente)...sagte er mir immer dsa alle pins gesetzt sind. ich weiß jetzt das er das ergebnis codiert 15 = alle usw.. :warn: aber er zeigt mir immmer 15 an.......auch wenn nix gesetzt ist. und ich werde daraus einfach nicht schlau. :wall: ab und zu hat er kurz mal das richtige ergebnis angezeigt. und jetzt weiß ich net ob es zufall war oder sonst was. kann es sein ds es da ein timing problem hat? das man die pins in ner bestimmten zeitfolge abfragen muss. wäre dankbar für eine schnelle antwort. mfg Skorpio |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz