Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: serielle daten empfangen Kategorie: Verschiedenes (von Marcel, Homepage - 8.03.2004 20:40)
 Als Antwort auf Re: serielle daten empfangen von Jan Dressler - 8.03.2004 14:25
Hi Jan

zu b) am einfachsten in der "Datei" in der C-Control, sofern du die nicht für was anderes benutzt.
zu c) du brauchst nur die beiden syscode-befehle hintereinander schreiben. allerdings musst du
für die zweite die einsprungadresse ermitteln, und die ggf. neu compilieren
(mit org [einsprungadresse] zu beginn). Wird aber bei dir nicht nötig sein, dazu ist der Datensatz
kurz genug.

und jetzt zu a)...ich hab dir mal nen kurzes code-segment gebaut, damit klar wird, was ich meine.
ich hab das jetzt aber nur einfach mal so geschrieben, und da nix auf fehler oder so korrigiert ;-)


define daten byte
define zaehler byte

#warten
if not rxt then goto warten

get daten
get daten

open# for write

for zaehler = 1 to 8
  get daten
  print# daten
next

close#

#rxdleeren
  get daten
if rxd then goto rxdleeren

open# for read
input# daten
if not daten = 138 then goto falschesn '8A
if not daten = 151 then goto falschesn '97
if not daten = 5 then goto falschesn '05
if not daten = 0 then goto falschesn '00
if not daten = 1 then goto falschesn '01
if not daten = 0 then goto falschesn '00
if not daten = 18 then goto falschesn '12
if not daten = 224 then goto falschesn 'E0
close#

'wenn er bis hier kommt, ist die seriennummer korrekt
print "Juhu"
goto ende

#falschesn
'fehlermeldung oder so...
print "Falsch Seriennummer


ok, ich denke, das ist klar...
hab ich noch was von den fragen übersehen? (glaub nicht...)

mfg,
Marcel

> hi marcel.
> juhu endlcih einer der von sowas ahnung hat :) ich dachte schon das ist unrealisierbar *schauder*
> also das was ich da vom leser bekomme... beginnend mit A4 das ist ein mit-geloggter HEX-eingang
> den ich mit nem 2ten pc aufgezeichnet habe.
> sieht so aus, ich sende was an den leser, und der gibt mir dann dieses A4blabla in einem zurück
> also ist das effektiv " A4018A970500010012E09000 "
> soderle.... da das im HEX modus aufgezeichnt ist weiß ich nicht wies bei der cc ankommt... bzw wie
> hex da zu händeln wäre.
> da wärend der übertragung da keinerlei pausen sind, wie ist das mit dem buffer?
> wie geht das dann mit deime asm?
> a) wie behandle ich das problem da?
> b) wie und wo leg ich da am besten daten ab?
> c) wie wurschtle ich 2 asm bzw s19 dateien zusammen? denn ich auch eine für das lcd das da mit
> dran angeschlossen ist....?
>
> hoff das sind nicht zu unklare dinge....
> zur info: das ist ein magnetfeld-coupler der da ansgesteuert werden soll und dieser kann dann
> berührungsfrei aus diesen chops wie gesagt entsprechende daten oder die seriennummer usw
> rausholen.
> und wenn ich die daten dann aufgezeichnet habe (wo ich ja nedweiß wohin) wie geht das dann weiter?
> wie verarbeite ich bzw schneide ich die??
> DANKESCHÖN schonmal
> MfG
> jan
>
>
> > Hi Jan,
> >
> > erstmal ne Gegenfrage:
> > Hast du das ausprobiert, und bekommst wirklich den String zurück?
> > (Also wirklich A4 01 8A 97 05 00 01 00 12 E0 90 00 über die serielle Schnittstelle?)
> > Wäre ja blöd gemacht vom Chip, dass der dir das nicht binär, sondern im ASCII-Code übergibt...
> > Oder sind es wirklich 12 Bytes?
> > Dann ist es wesentlich einfacher:
> > Du fängst an die Daten einzulesen, wobei du einfach die ersten zwei Bytes nicht beachtest.
> > Danach kannst du dir Zeit lassen. Der serielle Puffer der C-Control ist genau 8 Bytes groß, d.H. du
> > wertest einfach in Ruhe jedes einzelne Byte aus. Die Bytes vergleichst du mit Werten, die du im
> > Programm vorgibst. Nach 8 Werten bist du fertig, den Rest beachtest du einfach nicht (bzw.
> > leerst einfach den Puffer).
> >
> > Wenn du wesentlich größere Datenmengen bearbeiten willst, solltest du die erst einlesen lassen
> > (am besten von einem Assembler-Proggie) und in den Datenbereich schreiben lassen.
> > Dann kannst du die Daten hinterher in Ruhe auswerten. Wenn du den Assembler-Teil brauchst,
> > schau mal auf meine HP.
> >
> > mfg,
> > Marcel
> >
> >

Meine Homepage: http://www.fernwirken.tk

 Antwort schreiben

Bisherige Antworten:

Re: serielle daten empfangen NACHTRAG (von Marcel - 8.03.2004 20:44)