Microcontroller RS232 initialiesieren

Hallo Leute,

muss eine Referat über die Serielle Schnittstelle eines MC schreiben. Sowaeit ist alles gut.
Ich verstehe nur einen Schritt in der initialliesierung der Schnittstelle nicht.

Ich habe es hier so stehehen:
Einstellen der Schnittstelle:
INIT_SER1: mov SCON, #52h

Datenausgabe:
SERAUS1:
jnb TI, SERAUS1
clr TI

mov SBUF, A
RET


Den Schritt jnb TI, SERAUS1 verstehe ich leider nicht.
Was sagt es aus? Was passiert da?
Kennt jemand eine Quelle wo sowas ausführlich erklärt ist?
Danke
 
AW: Microcontroller RS232 initialiesieren

Hi wladiM,

-der Prozessor ist schneller als die Serielle-Schnittstelle
d.H. er muss nach dem senden eines Bits zum warten
gezwungen werden.

-dazu gibt es das TI Flag, es wird gesetzt, wenn
die Schnittstelle für ein neues Bit bereit ist

-deine Zeile
//-------------------
jnb TI, SERAUS1
//-------------------
bedeutet "JUMP if NOT TI to Label SERAUS1"
(also eine Loop bis das Flag gesetzt ist)

-das Flag muss dann wieder zurückgesetzt werden
das passiert in der nachfolgenden Zeile
//--------------------
clr TI
//--------------------

Gruss Uwe
 
AW: Microcontroller RS232 initialiesieren

das heißt es sringt immer in dieser Zeile bis TI nach einem Sendevorgang auf 1 gesetzt wird?
Erst wenn das geschiet arbeitet er den Rest des Programms ab und springt mit dem Befehl RET ins eigentliche Programm zurück.
Habe ich das jetzt richtig verstanden?

Danke
 
AW: Microcontroller RS232 initialiesieren

Ich habe gerade schnell nachgeguckt.
Die steuerung der Seriellen Schnittstelle einschließlich des JNB TI,.... ist in dem Buch ausführlich erklärt.
 
Top