$CRYSTAL/de
(Difference between revisions)
(→(**COPIED FROM ENGLISH PAGE**) =) |
(→Remarks) |
||
Line 15: | Line 15: | ||
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Anmerkungen</span><br/> = |
<div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 4px"> | <div style="text-align: left; text-indent: 0px; padding: 0px 0px 0px 0px; margin: 0px 0px 0px 4px"> | ||
{| style="border: solid 2px #000000; border-spacing:0px; border-collapse: collapse" border="1" cellpadding="1" cellspacing="0" width="604" | {| style="border: solid 2px #000000; border-spacing:0px; border-collapse: collapse" border="1" cellpadding="1" cellspacing="0" width="604" | ||
Line 23: | Line 23: | ||
| style="width:100%; border: solid 1px #000000" valign="top" width="100%" | | | style="width:100%; border: solid 1px #000000" valign="top" width="100%" | | ||
− | + | Taktfrequenz als numerische Konstante. | |
|} | |} | ||
Line 29: | Line 29: | ||
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | + | Die Frequenz ist einstellbar in [[Options Compiler Communication]]. Sie wird in einer Konfigurationsdatei gespeichert. Die $CRYSTAL Direktive überschreibt diese Einstellung. | |
− | + | Es ist sinnvoll, die $CRYSTAL Direktive im Programm zu benutzen weil dadurch die verwendete Frequenz deutlich wird. | |
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | [[File:Notice.jpg|left|Notice.jpg]] | + | [[File:Notice.jpg|left|Notice.jpg]] Die $CRYSTAL Direktive teilt dem Compiler lediglich die Frequenz mit. Sie setzt kein Fuse-Bit. Die Frequenz muss dem Compiler aus verschiedenen Gründen bekannt sein. Erstens kann der Compiler bei Verwendung serieller Kommunikation und Spezifizierung von [[$BAUD]] den passenden Wert für das UBR-Register berechnen. Zweitens gibt es einige interne Routinen wie zum Beispiel [[WAITMS]] die die Ausführungszeiten von Schleifen nutzen um Wartezeiten zu erzeugen. Wenn $CRYSTAL = 1000000 (1 MHz) im Programm steht aber in Wirklichkeit ein 4 MHz Takt angeschlossen ist dann kann man feststellen, dass alles 4 mal schneller läuft. |
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | + | Die meisten neueren AVR Mikrocontroller haben einen internen Oszillator der standardmäßig aktiviert ist. Die Standardeinstellungen stehen im jeweiligen Datenblatt. | |
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> |
Revision as of 02:05, 18 February 2013
Contents |
Funktion
Compileranweisung zum Überschreiben der Standard-Taktfrequenz aus den BASCOM-Optionen.
Syntax
$CRYSTAL = var
Anmerkungen
var |
Taktfrequenz als numerische Konstante. |
Die Frequenz ist einstellbar in Options Compiler Communication. Sie wird in einer Konfigurationsdatei gespeichert. Die $CRYSTAL Direktive überschreibt diese Einstellung.
Es ist sinnvoll, die $CRYSTAL Direktive im Programm zu benutzen weil dadurch die verwendete Frequenz deutlich wird.
Die $CRYSTAL Direktive teilt dem Compiler lediglich die Frequenz mit. Sie setzt kein Fuse-Bit. Die Frequenz muss dem Compiler aus verschiedenen Gründen bekannt sein. Erstens kann der Compiler bei Verwendung serieller Kommunikation und Spezifizierung von $BAUD den passenden Wert für das UBR-Register berechnen. Zweitens gibt es einige interne Routinen wie zum Beispiel WAITMS die die Ausführungszeiten von Schleifen nutzen um Wartezeiten zu erzeugen. Wenn $CRYSTAL = 1000000 (1 MHz) im Programm steht aber in Wirklichkeit ein 4 MHz Takt angeschlossen ist dann kann man feststellen, dass alles 4 mal schneller läuft.
Die meisten neueren AVR Mikrocontroller haben einen internen Oszillator der standardmäßig aktiviert ist. Die Standardeinstellungen stehen im jeweiligen Datenblatt.
See also
$BAUD , BAUD , CONFIG CLOCKDIV
Example
$regfile = "m48def.dat" $crystal = 4000000 $baud = 19200 Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 0 Print "Hello world" End
Languages | English • Deutsch |
---|