Anfänger sucht Hilfe bei Com-Ansteuerung etc.

Anfängerfragen zum Programmieren mit PureBasic.
Caretaker
Beiträge: 9
Registriert: 14.09.2007 13:22

Anfänger sucht Hilfe bei Com-Ansteuerung etc.

Beitrag von Caretaker »

Hallo Leute,

bin neu hier!!

Hab ein riesiges Problem! Hab mir auch schon fast das ganze Forum durchgelesen und auch die Suchfunktion bis ans Ende ihrer Kräfte ausgenutzt und die Hilfefunktion maltretiert, doch leider hab ich immer noch keine eindeutigen Antworten auf meine Fragen bekommen.

Ich mach zur Zeit in der 13 ein Schülerprojekt mit ein paar Klassenkameraden zusammen. Es geht darum, dass wir ein RFID-Lesegerät (dieses), welches an den COM1 Port angeschlossen ist, ansteuern wollen und dessen Daten, welche in dessen EEPROM liegen, auslesen und in einer MySQL - Datenbank abspeichern können.

In der Bedienungsanleitung sind auch ASCII Befehle angegeben, mit denen man anscheinend mit dem Lesegerät kommunizieren kann.


Nun ist das Problem, dass ich ein absoluter Newbie in PureBasic bin! Ich hab diese Sprache für unser Projekt ausgewählt, da sie mir am einfachsten erschien ^^

Ich habe schon einige Tuts durchgearbeitet, doch dies hat mir nicht wirklich bei meinem Problem helfen können. Ich habe mir schon einige Quelltexte durchgelesen, die mir als ähnlich bzw hilfreich erschienen, doch leider hab ich meistens nicht verstanden wie es zu der Ansteuerung kommt. Außerdem habe ich das mit den ASCII-Befehlen nicht ganz verstanden !

Ich besitze schon einige Erfahrungen mit Java und Pascal, doch das wird mir, glaub ich, nicht sehr viel helfen.

Natürlich sollt ihr mir jetzt nicht das passende Programm dazu schreiben!!

Doch es wäre klasse wenn ihr mir beim Anfang helfen oder Tipps geben könntet!


Ich danke Euch im Vorraus für Eure Hilfe!

MfG Caretaker
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

hast du im Hardware-Unterforum gründlich genug durchgesehen?
über COM müßte dort auch einiges stehen.

> Außerdem habe ich das mit den ASCII-Befehlen nicht ganz verstanden !

das ist eine andere Bezeichnung für Steuercodes/Steuerzeichen.

im endeffekt sendest du buchstaben über die schnittstelle an das Gerät,
nur dass das Gerät diese eben als befehle interpretiert.


wenn du bestimmte Quelltexte im Forum gefunden hast,
wo Daten an COM gesendet werden, wo du meinst das könnte evtl. was für dich sein,
dann frag auch mal konkret dort in den Topics nach weiteren Erklärungen.


> In der Bedienungsanleitung sind auch ASCII Befehle angegeben, mit denen man anscheinend mit dem Lesegerät kommunizieren kann.

der link zu Conrad funktioniert hier nicht, wahrscheinlich hast du deine ID mit reingemixt,
hier kann ich deinen Warenkorb nicht öffnen.

falls du die anleitung des gerätes irgendwo ergooglen kannst, kannst du das mit-verlinken,
damit wir dir später auch konkret mit den Befehlen helfen können.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Caretaker
Beiträge: 9
Registriert: 14.09.2007 13:22

Beitrag von Caretaker »

Hi Kaeru Gaman,

danke für deine schnelle Antwort!!!

Mittlerweile hab ich es geschafft, dass mir das Lesegerät eine Antwort schickt.
D.h. die Kommunikation funktioniert, ich habe jedoch noch keine ASCII-Befehle versendet, womit ich die Daten einzeln abfragen könnte.
Im Moment schickt er mir nur eine lange Zeile mit allem drin!

z.B. FFEM0BC9060D93581195C9772

Dieses Hexageschnipsel hab ich auch schon weitestgehend auseinander nehmen können.
Ich würd es nur gern, wie erwähnt, einzeln abfragen können!

Jetzt müsste ich "nur" noch wissen, wie man solche ASCII-Befehle an die Schnittstelle schickt.


Hier die Bedienungsanleitung des Lesegeräts zum runterladen : klick_mich

Mit diesem Quellcode hab ich's geschafft mit dem Gerät zu kommunizieren: klick_mich2


Und wieder zum Schluss:

Vielen Dank im vorraus für Eure Antworten !!

MFG Caretaker
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

der vor dir verlinkte beispielcode ist ja für senden und empfangen.

du müsstest also jetzt einfach nur das steuerzeichen an den port senden, damit das gerät es empfängt.

statt also den text zu versenden, den er aus dem gadget ausliest uin diesem code,
sendest du also einen string mit der enthaltenen procedure, der die gerätekommandos enthält.

laut gerätebeschreibung hat ein befehl ja dieses format:

Code: Alles auswählen

<STX><ADR><COMMAND><SUBCOMMAND><INDEX><DATA><CRC><EOT>
nehmen wir als beispiel mal das "Hello" command

Code: Alles auswählen

<STX><ADR>H<EOT>
PB-Codeausschnitt:

Code: Alles auswählen

#STX$ = Chr(2)  ; Start of Text
#EOT$ = Chr(4)  ; End of Transmission

#ADR$ = Chr($FF)  ; allgemeingültige adresse des geräts.

Send$ = #STX$ + #ADR$ + "H" + #EOT$
den sendstring schickst du mit der procedure aus deinem beispielcode an den Port.

laut anleitung sollte dein Gerät dann reagieren, indem er einen text zurückschickt:
<STX>XRDVaabb<EOT>
Gibt die Bezeichnung und Versionsnummer des Lesers aus.
(Dieser Befehl benötigt keinen CRC)
Der Leser antwortet mit XRDVab.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Caretaker
Beiträge: 9
Registriert: 14.09.2007 13:22

Beitrag von Caretaker »

Super!!!

Das hat mir jetzt echt weiter geholfen!

Jetzt werd ich schon mal weiter kommen !!

Vielen Dank für Deine Hilfe!
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

Gern geschehen. Schön, dass ich helfen konnte.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten