Mega8, Bascom, RS232-Eingabe funzt nur einmal

OP #468603
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
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
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
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
Gast
Hi Jens.

Den Scanner den ich benutzt habe war schon etwas aeltern Baujahrs. Ich 
bin zur Zeit noch im Urlaub. Wenn ich wieder zurueck bin, kann ich dir 
mehr erzaehlen...

Bis dahin
T4B

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.