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 - 22.11.2001 20:36)
Als Antwort auf Re: hwcom Parameter von Norbert - 22.11.2001 10:54

> > > 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
> >
> > hallo norbert,
> >
> > die inlinefunktion sollte in CControlLibsystem eingetragen werden, da wo alle inlinefunktionen
> > definiert werden.
> >  Also den Ordner CControlLibsystem öffnen und die funktion definieren: (eben nachfolgendes eintippen)
> > //-----------------------
> > inline funktion set_S0CON(int s0con) // definiere  funktion, die das Spezialregister S0CON mit dem
> >                                                                   // wert von s0con setzt
> > //----------------------
> > {
> >  inline vmcodes.VM_STORE_ABSOLUTE_INT;// hole den InlineCode der einen vorzeichenlosen
> >                                                                    // Integerwert (16bit) auf die nachfolgende Adresse ablegt
> >  inline 0xFFB0;    // das ist die Adresse auf die der ĂĽbergabewert s0con abgelegt wird. Diese Adresse
> >                           // zeigt auf das Register S0CON. Dieses Register steuert u.a. die Daten-
> >                           // ĂĽbertragung der hwcom.
> > }
> > eintippen beenden
> >
> >
> > -----------------------wie kommt nun das Datum s0con in das Register S0CON.
> >
> > thread xyz
> > {
> > int s0con; definiere die Variable s0con als Integer
> > ...
> > ...
> > ...
> >
> > s0con= 0x8013;// setze hwcom auf 7E1
> > set_S0CON(s0con);// voraussetzung fĂĽr diesen Funktionsaufruf ist natĂĽrlich, das er
> >                               // im ordner ..libsystems definiert wurde
> > ...
> > ...
> > ...
> > // oder ohne die Variable s0con
> > ...
> > set_S0CON(0x8017);// auf 8E1
> > set_S0CON(0x801F),//auf 8E2
> > ...
> > ...
> > ...
> > }
> >
> > ------------------------zur Frage, wie kann man den Wert fĂĽr s0con selber ermitteln
> >
> > das Spezialfunktionsregister S0CON umfasste 16 Bits. Diese Bits steuern die serielle DatenĂĽbertragung.
> > In anderen Beiträgen wurden die wesentlichen Funktionen dieser Bits dargelegt.
> > Ich bin gern bereit spezielle Anfragen bezüglich dieses Registers zu beantworten, aber alle möglichen
> > Konstellationen kann ich nicht in diesem Forum darlegen. Wenn es meine Zeit erlaubt, werde ich einige
> > Primitive fĂĽr s0con  demnächst veröffentlichen.
> >
> > mfg Matthias Koch
> >                        
> > Vielen Dank fĂĽr deine Hilfe........
> nur leider habe ich kein Erfolg.
> Die Voreinstellung 8N1 bleibt unverändert.
> 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


    Antwort schreiben


Antworten:

Re: hwcom Parameter (von Matthias Koch - 24.11.2001 12:10)
    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)