Hallo Achim,
laut Datenblatt müssen die Daten min. 30ns anliegen, bevor EN von High auf Low geht. Ich würde "out portb,r16" als erstes in "dtaout:" ausführen lassen, dann kannst du die delay's weglassen.sbi porte,d_en ;enable pin high
; call delay
out portb,r16 ;send data
; call delay
cbi porte,d_en ;enable pin liw
Aber das ist sicher nicht die Ursache.
Ich denke nicht, das es mit den Bytes $7F bzw. $FF zusammenhängt, da es sonst auch mit Kombinationen wie $7E oder $FE Probleme geben müsste.... bis auf 0x7f bzw. 0xff völlig unabhängig von dem Programmteil welches die Zeichen erzeugt.
Bei einem Flachbandkabel von 40cm Länge würde ich schon eher die Ursache suchen. Zumal das Übersprechen bei dieser Länge doch schon erheblich sein dürfte. Liegt eventuell die Ader für EN im Kabel neben einer Datenader ?
Lesezeichen