Re: hwcom Parameter Kategorie: Programmierung (von Matthias Koch - 24.11.2001 12:10) | |
Als Antwort auf Re: hwcom Parameter von Matthias Koch - 22.11.2001 20:36
| |
> > > > Hallo, > > > > ich komme mit den Parameteränderungen der hwcom nicht zurecht. > > > > Wo trage ich die Funktion ein ? > > > > Im Projektmodul ? > > > > Und wo trage ich 0x8017 => für 8E1 ein ? > > > > > > > > Leider ist es mir noch ein Rätsel wie ich 7E1 > > > > ermittel und einstellen kann. > > > > > > > > /****************************************************************************************************/ > > > > inline function set_S0CON(int s0con) > > > > /****************************************************************************************************/ > > > Quelle: MAFOE > > > > > s0con=0x8013 // 7E1 > > system.set_S0CON(s0con); > > > > andere Werte für s0con die ich probiert habe > > führen bestenfalls zum Stillstand der hwcom. > > Gru� Norbert > > Hallo Norbert, > > das du in der Lage bist , die serielle Schnittstelle zu stoppen ist doch schon ein gutes Zeichen. > Ich gehe also davon aus, dass die "inline-function" richtig ist und auch der Funktionsaufruf und die > Datenzuweisung. Kommen wir nun zum S0CON Register des C167 oder alias. > Dieses Register ist 16 Bit lang. Ich beginne mit Bit 15 und ende mit Bit 0. Den Bit-Namen, der in > Assembler benutzt wird lasse ich weg. Ich gehe nur auf die Bedeutung der Bits ein und deren Zu- > Stände. > > BitNr. Bedeutung mögliche Zustände Ergebnis > 15 Baudrate Generator Run =1 Generator läuft > =0 Generator stoppt > > 14 Loop Back Mode =1 Loop Back // Connect TxD RxD > =0 Normalbetrieb > > 13 BaudRateSelection =1 Takt um 1/3 reduziert > =0 Normalbetrieb > > 12 ParitySelection =1 Parity=ODD > =0 " = EVEN > > 11 _____________RESERVED____NOT USED______________________________________ > > 10 Hallo Norbrt, musste leider abbrechen, nun geht es weiter mit dem S0CON Register. Bit 10 Overrun Error Flag =1 Overrun Error =0 Kein Error Bit 9 Frame Error Flag =1 Frame Error =0 kein Error Bit 8 Parity Error Flag =1 Parität Error =0 kein Error Bit 7 Over Run Check Enable =1 Over Run Check eingeschaltet =0 abgeschaltet Bit 6 Frame Check En. =1 Frame Check eingeschaltet =0 abgeschaltet Bit 5 Parity Check En. =1 Parity Check angeschaltet// und kann somit das Bit 8 (siehe oben) verändern =0 kein Parity Check Bit 4 Reciever Enable =1 Empfänger eingeschaltet// =0 abgeschaltet MODE CONROL BITS Die Bedeutung der unteren drei Bits ist oktal kodiert und haben folgende Bedeutung Bit 2,1,0 000 = Syncronbetrieb 8 Datenbits 001 = Asyncronbetrieb 8 Datenbits 010 = reserviert 011 = Asyncronbetrieb 7 Datenbits und Paritätsbit// das ist das was du machen möchtest 100 = Asyncronbetrieb 9 Datenbits 101 = Asyncronbetrieb 8 Datenbits und Wake Up Bit // 110 = reserviert 111 = Asyncronbetrieb 8 Datenbits und Paritätsbit // das benutze ich an den Bits 14, 13, 10 bis 5 würde ich keine Veränderung empfehlen, da sie möglicherweise das Betriebssystem stören könnten. Was du aber mal probieren könntest, wäre ganz gezielt die serielle Schnittstelle abzuschalten, indem du das Bit 15 = 0 setzt mit system.set_S0CCON(0x0017); Nun etwas über die hwcom ausgeben und z.B. mit Oszi oder anderer Nachweismöglichkeit feststellen, das nichts gesendet wird( Baudrategenerator ist ja abgeschaltet).Dann wieder set_S0CON(0x8017), Baudrategen. angeschaltet, somit müsste die hwcom wieder arbeiten. Teste das mal, ich würde mich über eine kurze Rückmeldung freuen. mfg M.Koch | |
Antwort schreiben Antworten: Re: hwcom Parameter (von Matthias Koch - 24.11.2001 15:54) Re: hwcom Parameter (von Norbert - 24.11.2001 19:38) Re: hwcom Parameter (von Norbert - 24.11.2001 22:06) |