Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Mehre Fragen zur Micro Kategorie: C-Control I Micro (von Thomas Wulf - 24.01.2006 15:07)
 Als Antwort auf Re: Mehre Fragen zur Micro von DIE HARD - 24.01.2006 12:48
Thomas Wulf nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-M-Unit V1.2/2.0, Micro, Open-Micro, Open-Mini
> Hallo.....
>
> Die MICRO kann die 19200 !
> Es ist so, dass die MICRO den Baudrate-Prescaler aus dem Programm-download mit 9600
> berechnet und dann (nicht flüchtig) speichert. Probleme gibt es eigentlich nur, wenn
> (wie mit der Transistorschaltung) Delays wirksam sind, was dann bei 19200 zu grossen
> Fehlern in der Baudrate führt.
> Wie gesagt, es sollte eigentlich mit dem MAX funktionieren.

Hallo nochmal,

ich benutze eine M2.0 unit und habe auch eine einfache Transistor-Inverterstufe angeschlossen.
Ich habe etwa 3m Kable angeschlossen und lasse das mit 38,4kBd laufen, ohne Probleme.
Woher kommen die Delays mit der OM/Transistorstufe. Warum macht es der M2.0 nichts aus ?

Vielen Dank,

Thomas

>
> Es gibt aber ein Calibrierprogramm um diese Zeitkonstanten zu kompensieren, damit muss es
> auf jeden Fall gehen:
> ------------------------------------------------------------------------------------------------------------
> ' Eine automatische Calibrierung der Baudrate bei jedem Download eines BASIC-Programms stellt
> ' zwar den Betireb bei 9600 Baud sicher, ist u.U. aber nicht ausreichend für den
> ' Betrieb mit 19200 Baud (vor allem wenn der RC-Oszillator driftet, oder die
> ' Betriebsspannung schwankt).
> ' Um trotzdem den Betrieb bei 19200 Baud zu ermöglichen, kann der Oszillator calibriert
> ' werden.
> '-------------------------------------------------------------------------
> ' Der Befehl FREQ2=WERT schreibt einen Korrekturfaktor in das Betriebssystem,
> ' der den Takt um 0,2% je Digit (ausgehend vom Defaultwert 128, nach dem RESET)
> ' korrigiert.
> ' Der Inhalt von FREQ2 kann nicht gelesen werden und eine Anweisung wie etwa
> ' a=FREQ2 führt zu unkontrollierbarem Fehlverhalten, da das entsprechende TOKEN
> ' vom INTERPRETER der MICRO nicht erkannt wird.
> '-------------------------------------------------------------------------
> ' Dieses Programm erhöht/verringert den Wert in FREQ2 bei jedem kurzen/langen Tastendruck,
> ' ausgehend vom default Wert 128 = &H80.
> ' kurz= 0....200ms, lang= 0....1s
> ' Ein Tastendruck darf auf keinen Fall länger als eine Sekunde sein, da der Timer über
> ' Null rollt und ein kurzer Druck gemessen wird.
> ' Nach jedem neuen Wert für FREQ2 wird dieser und ein Kontrollstring ausgegeben.
> ' Mit einem Terminalprogramm können Sie den Bereich der gültigen Werte ermitteln.
> ' Der gesuchte Wert liegt in der Regel nicht weit von der Defaulteinstellung.
> ' Nähern Sie sich deshalb in kleinen Schritten um auch zu ermitteln, ob FREQ2
> ' grösser oder kleiner werden muss.
> ' z.B.   Einschalten, Schritte nach unten  
> '
> ' Wählen sie für die Korrektur des Oszillators
> '
> ' FREQ2=KORREKTUR
> '
> ' einen Wert aus der Mitte dieses Bereiches.
> ' Verwenden Sie diesen Wert einmalig in der Initialisierung Ihres Anwenderprogramms.
> '
> ' ACHTUNG:
> ' Wenn Sie die Anleitung aufmerksam gelesen haben, wissen Sie, dass das P/E-Board wegen
> ' grosser Zeitkonstanten nicht 19200 Baud fähig ist.
> ' Sie können diese Kalibrierung erfolgreich auf dem P/E-Board durchführen, weil damit
> ' auch die Zeitkonstanten "herauscalibriert" werden, jedoch ist der gefundene KORREKTURWERT
> ' nicht repräsentativ, wenn die MICRO in Ihrer Anwendung später einen anderen
> ' RS232 Pegelwandler benutzt.
> '------------------------------------------------------------------------------------
> ' ----> Sie können das P/E-Board auf diese Weise 19200 Baud fähig machen
> ' ----> Wenn Ihre MICRO nach der Programmierung in einer anderen Hardwareumgebung
> '       bez. RS 232 läuft, muss sie auch in dieser calibriert werden.
> '------------------------------------------------------------------------------------
>
> '--------------------------
> '------ I/O PORTS ---------
> '--------------------------
> define LED      port[5]
> define TASTER   port[3]
> define TXD      port[1]
> define BEEPPORT port[6]
> '--------------------------
> '---- SYSTEM MEMORY -------
> '--------------------------
> define COUNTS   byte[1]
>
> BAUD 19200
> freq2=&H80:COUNTS=&H80
> '--------------------------------------------------
> '       LOOKING FOR GOOD FREQ2 VALUES             -
> '--------------------------------------------------
> print "CALIBRIERUNG DES OSZILLATORS"
> PRINT "- BITTE TASTER DRUECKEN -"
> #WAIT
> WAIT not TASTER:SECOND=0:
> WAIT TASTER
> if TIMER < 10 then goto INCREASE
>
> #DECREASE
> COUNTS=COUNTS-5:FREQ2=COUNTS:pause 5:print COUNTS;:print " TESTCHARACTERS"
> goto WAIT
>
> #INCREASE
> COUNTS=COUNTS+5:FREQ2=COUNTS:pause 5:print COUNTS;:print " TESTCHARACTERS"
> goto WAIT

 Antwort schreiben

Bisherige Antworten:

Re: Mehre Fragen zur Micro (von DIE HARD - 24.01.2006 15:35)