Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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)