PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : 89Cxxx ser interface



Import-Script
22.06.2003, 19:13
Ab und zu legt man sich die Karten und ???? <BR> <BR>bin auf folgendes Problem gestossen: <BR>Ein 89C51RC wird mit 24MHz betrieben, die serielle Schnittsstelle wird initialisiert, das erste Zeichen wird jedoch mit einer Verzögerung von ca. 5,46ms &#40;ca. 10920K µP cycle&#41;, hat hierf&uuml;r jemand eine Erklärung, oder wo mache ich einen Fehler, bzw. wo setzt im Moment bei mir eine Blockade ein. Hier der vereinfachte Code: <BR> <BR>INCLUDE 89c51rc.mc <BR>send BIT p1.4 <BR>tp BIT p3.3 <BR> <BR>JMP start <BR> <BR>&#40;23h&#41;: JMP ser_int <BR> <BR>start: ;com initialisieren <BR> ORL scon,#50h ;mode1, REN=1 <BR> MOV rcap2h,#ffh ;750 Kbaud bei 24MHz <BR> MOV rcap2l,#ffh <BR> ORL t2con,#34h ;timer2 Bauderate <BR> SETB es <BR> SETB ea <BR> <BR>loop: SETB send <BR> MOV sbuf,#&#34;1&#34; <BR> CLR tp <BR>wait: JB send,wait <BR> setb tp <BR> SJMP loop <BR> <BR> <BR>ser_int: CLR ti <BR> CLR send <BR> RETI <BR>

Import-Script
22.06.2003, 20:00
Ganz klar, Du setzt ja nicht T2. Der muß also erst mal voll rum, ehe er mit rcap2h,rcap2l gesetzt wird. <BR> <BR>Peter

Import-Script
22.06.2003, 22:23
Hi Peter, <BR> <BR>zuerst mal Danke f&uuml;r die schnelle Antwort. Habe so einen Vorgang &#34;einmal rum nat&uuml;rlich als erstes vermutet&#34;. Wenn Du mit T2 das Bit Tr2 in der ATMEL Termonogie meinnst, wird dies mit ORL T2CON,34h&#40;00110100b&#41; gesetzt. Oder wie die Schweizer sagegen oddder? Auch diese Reihenfolge bringt nichts. <BR> ORL t2con,#34h ;timer2 Bauderate <BR> MOV rcap2h,#ffh ;750 Kbaud bei 24MHz <BR> MOV rcap2l,#ffh

Import-Script
23.06.2003, 09:36
Mit T2 meinte ich Timer 2 also T2H, T2L. <BR> <BR>mov t2l, rcap2l <BR>mov t2h, rcap2h <BR> <BR> <BR>Peter <BR>

Import-Script
23.06.2003, 11:58
Danke Peter, <BR> das set hat mich weiter blockiert, lade hätte vielleicht geholfen. <BR>Aber trotzdem hätte ich mal in die HW-Beschreibung von ATMEL geschaut wäre klar geworden, die rcap2’s werden erst beim overflow des t2’s in den t2 geladen. <BR>