mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MFA 8085 - Assembler Übertragungsproblem


Autor: Michael Riedel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen, hoffe ihr könnt mir bei meinem Problem
weiterhelfen.
In meiner Ausbildung zum Kummunikationselektroniker muss ich mich mit
der Programmierung eines MFA 8085 auseinander setzen. Zu diesem Zweck
stehen in meinem Ausbildungsbetrieb rund 8 MFAs an drei verschiedenen
Rechnertypen. Vor kurzem wurde nun unsere IT-Infrastruktur auf
Win2000/XP umgestellt und da fängt das Problem an.
Seit dieser Umstellung wird der Assembler-Code, den ich zuvor im Editor
erstelle, nicht mehr korrekt übertragen (so ist zumnindest meine
Annahme).

Ein Beispiel:

verwendeter Assembler-Code (Richtigkeit spielt in diesem Fall keine
Rolle, da das Problem mit jedem Code auftritt)

assembler
0e000
lc
lxi sp,0fc32
in 01
out 02
end

Diesen Code füge ich per Editor/Kopieren -> Hyperterminal einfügen ->
COM1-Port -> MFA ein (per Maus und nicht per Strg+V).
Im Hyperterminal erscheint anschließend nur das hier:

KMD > ASSEMBLER
 START-ADR =0000 D


stattdessen bei WinNT 4.0


KMD > ASSEMBLER
 START-ADR =E000 E000
E000             LC
E000 31 32FC     LXI SP,0FC32
E003 DB 01       IN 01
E005 D3 02       OUT 02
E007             END

Wenn ich allerdings jeden Assembler-Befehl einzeln kopiere funktioniert
alles korrekt.


Um dem Problem auf die Spur zu kommen habe ich mal den Com-Port
ausgelesen.

Hier die Auslesung des Vorgangs bei einem WinNT 4.0 - Systems:

TD
a  s        s        e        m       b        l        e        r
 cr
                         e  0  0     0 cr
                                    l  c cr
                                      l  x  i     _  s  p  ,  0  f  c  3
 2 cr
                                 i  n  _  0  1 cr
                                                                       o
 u  t  _  0  2 cr
                                          e  n  d
RD
A  S bs bl  S bs bl  E bs bl M bs bl  B bs bl  L bs bl  E bs bl  R bs
bl   bs  S  S  E  M  B  L  E  R cr lf cr  _ bs    S  T  A  R  T  -  A
 D  R  _  =  E  0  0  0    E     0  0     0   bs lf cr cr  E  0  0  0
  _  _  _  _  _  _  _  _  _  _  _    L     C cr cr lf cr cr  E  0  0
0    _  _  _  _  _  _  _  _  _  _  _  _  L     X  I    S  P  ,  0  F
C  3  2 cr cr  E  0  0  0    3  1    3  2  F  C lf cr cr  E  0  0  3
  _  _  _  _  _  _  _  _  _  _  _  _  I  N    0  1 cr cr  E  0  0  3
  D  B  _  0  1 lf cr cr  E  0  0  5  _  _  _  _  _  _  _  _  _  _  
  _  O     U  T  _  0  2 cr cr  E  0  0  5  _  D  3    0  2 lf cr cr
E  0  0  7    _  _  _  _  _  _  _  _  _  _  _    E  N  D



Hier die Auslesung des selben Vorgangs bei einem Win2000/XP-System:

TD
A S bs bl  S bs bl  B bs bl  R bs bl  E bs bl  0 bs bl  N bs bl  0 bs
bl  O bs bl   bs  S  S  E  M  B  L  E  R  cr  lf  cr lf cr  _ bs    S
 T  A  R  T  -  A  D  R  _  =  0  0  0  0  _  D

RD
a s  s  e  m  b  l  e  r cr  0  e  0  0  0 cr  i  n  _     0  1 cr  o
u  t  _  0  2 cr  e  n  d


Nun weiß ich allerdings auch nicht mehr weiter, woran es liegen könnte.

Das Hyperterminal und dessen Treiber habe ich bereits testweise durch
die NT-Version ersetzt, zeigte allerdings keine Wirkung.
Für jede Lösung des Problems oder Tipps zur Ursachenfindung wäre ich
sehr dankbar.

Autor: Michael Riedel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat denn keiner eine Vermutung woran es liegen könnte. Es ist egal wie
verrückt eure Vermutungen sind. Ich bin für jeden Tipp dankbar.

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte es sein, daß hier keine Handshakeleitungen verwendet werden?

Dein "Protokoll" ist annähernd unlesbar, aber es sieht so aus, als
würde in einem Fall CR+LF als Zeilentrenner gesendet werden, im anderen
Falle scheint nur CR gesendet zu werden.
Die vielen Backspaces, die Du mitsendest, lassen auf ein grundlegendes
weiteres Problem schließen.

Warum kopierst Du "mit der Maus" Texte in die Zwischenablage, um sie
im Terminalprogramm "einzufügen"?

Wieso kein anständiger Datentransfer mit 'nem dafür vorgesehenen
Protokoll wie X-Modem/Kermit?

Autor: Michael Riedel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnelle Antwort. Das mit den Handshakeleitungen überprüfe
ich gleich mal.

Das mit der Maus und dem Protokoll wurde mir so in der Berufsschule
beigebracht. Aber danke für den Tipp, werde mich da gleich mal mit
befassen.

Autor: Michael Riedel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bin jetzt doch noch auf den Fehler gekommen.

Die Datenübertragung zwischen PC und MFA war für den 8085 zu schnell.
Ich hab nun eine Zeilen- und Zeichenverzögerung von 50 Millisekunden
dazugegeben und jetzt funktioniert alles einwandfrei.

Nochmals Danke Rufus T. Firefly für den Tipp mit dem Protokoll.

Autor: Karl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du musst einfach wenn das kommt bei XP:

KMD > ASSEMBLER
 START-ADR =0000 D

dahinter E000 schreiben

dann müsste was am MFA ausgegeben, wenn der code richtig ist

P.S. beim MFA 8085 ist IN 12 und OUT 13 :)

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.