www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Mega8, Bascom, RS232-Eingabe funzt nur einmal


Autor: Strom Schlag (t4b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Philipp Sªsse (philipp)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es mit dem Daten vom Terminalprogramm geht, ist ein Fehler im Code 
ja eher unwahrscheinlich.

Und wenn Du das Lesegerät ans Hyperterminal anschließt? Sehen dann der 
zweite und die folgenden Bytes richtig aus?

Autor: Strom Schlag (t4b)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Lesegerät läuft am HyperTerminal auch ohne Probleme.

Autor: Tobias H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Strom Schlag (t4b)
Datum:

Bewertung
0 lesenswert
nicht 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 ????

Autor: Strom Schlag (t4b)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Nur für's Protokoll:        :)

Es funktioniert! Ich habe dann einen anderen Weg eingeschlagen

     ischarwaiting()
und
     clear serialin
(wen es interessiert: siehe Anhang)


Vielen Dank!

Grüße
Ingo

Autor: Jens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Strom Schlag (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.