Mega8, Bascom, RS232-Eingabe funzt nur einmal

OP #468603
Lesenswert?

Mahlzeit!

Ich habe da so ein Problem mit einem Basic-Programm. Aber vorher erstmal 
die angestrebte Funktion:
Ein alter Barcodeleser soll einen erkannten Code an eine SPS 
übermitteln. Der Barcodeleser kann mit der vorhandenen 
RS232-Schnittstelle nicht so ohne Weiteres an die SPS angeschlossen 
werden. Also kommt ein ATMega8 da zwischen. Der Mega8 speichert den 
Barcode zwischen, wartet auf ein "Freigabe-Signal" von der SPS und gibt 
den Code dann in einem reinen und formlosen Impulssignal an die SPS 
(Barcode z.B. 114 => 114 Impulse an die SPS).

Das angehängte Programm funktioniert erstmal. ABER nur einmal! Der 
Controller erhällt den Barcode und kann ihn auch weitergeben. Kommt aber 
der nächste Barcode vom Lesegerät, so erhält der Controller nur eine "0" 
(Anzeige im Display!).

Schließe ich statt des Lesegerätes das HyperTerminal von Windoof an, 
dann klappt es immer (also auch mit dem 3'ten, 4'ten, ...Code)

Vielleicht hat hier ja jemand eine Idee.

Gruß
Ingo
Angehängte Dateien:
Gast #468635
Lesenswert?

nimm mal das Programm "COM Terminal" und schau, was der Barcode Leser 
ausgibt. Vielleicht sendet der ein anderes "endzeichen" am Ende des 
Barcodes als du erwartest? Dies lässt sich mit dem HyperTerminal 
schlecht feststellen. COM Terminal gibt dir die Daten unformatiert aus 
und daher kannst du auch die Sonderzeichen erkennen.
OP #469301
Lesenswert?

So, COM Terminal erzählt mir, dass nach den eigentlichen Barcode-Ziffern 
noch zwei Zeichen übertragen werden:

1. Dez. 13  Hex. 0D (Carriage return)
2. Dez. 10  Hex. 0A (LineFeed)

Also zum Beispiel für Barcode 123:
49
50
51
13
10

Sende ich mit COM Terminal eine 123, dann kommt dabei folgendes raus:
49
50
51
13
10
10   (ja, 2x 10. Warum auch immer...?)

UND: beim zweiten Senden mit COM Terminal bekomme ich in der µC-Anzeige 
wieder eine "0" !!!
Also wo ist der Unterschied zwischen
Lesegerät/COM Terminal <=> HyperTerminal ????
Gast #758131
Lesenswert?

Hallo,

ich sehe du hast einen Barcodeleser an einen Microcontroller 
angeschlossen?

Ich hatte nun auch vor einen Barcodescanner an einen Mikrocontroller 
anzuschliessen, der dann den gelesenen Code mit einem gespeicherten 
vergleicht und dann ein Signal ausgibt ob dieser richtig oder falsch 
ist.

Ist es schwer einen Scanner direkt an einen Mikrocontroller 
anzuschliessen???

Alles was man so findet ist ja meistens für den PC mit irgend welcher 
Software.

Hast du einen speziellen genommen? Kann man die einfach über RS232 
ansprechen und der Scanner sendet dann einfach den Code?

Wäre nett wenn du mir ein paar Infos geben kannst, wie man am besten so 
ein Projekt angeht (Welcher Scanner(Soll bei mir ein Festerscanner sein 
ohne das man noch ein Knopf zum scannen drücken muss), welcher 
Mikrocontroller (geht jeder dann mit RS232?) und wie die Kommunikation 
zwischen Scanner und Mikrocontroller ist (muss ein Protokoll geschrieben 
werden?))

Vielen Dank, wenn du mir da ein paar Infos geben kannst.

Gruß
Jens

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren