Re: hwcom Parameter Kategorie: Programmierung (von Matthias Koch - 24.11.2001 15:54) | |
Als Antwort auf Re: hwcom Parameter von Matthias Koch - 24.11.2001 12:10
| |
> > > > > 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 > noch ein kleiner Nachtrag, Bit 3 Number of Stopbits =1 2 Stopbits =0 1 Stopbit MK | |
Antwort schreiben Antworten: Re: hwcom Parameter (von Norbert - 24.11.2001 19:38) Re: hwcom Parameter (von Norbert - 24.11.2001 22:06) |