$CRYSTAL/de
From MCS Wiki AVR
< $CRYSTAL(Difference between revisions)
m (1 revision) |
(→Example) |
||
(3 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
− | + | = <span class="f_Header">Funktion</span><br/> = | |
− | + | Compileranweisung zum Überschreiben der Standard-Taktfrequenz aus den BASCOM-Optionen. | |
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
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> | ||
Line 45: | Line 45: | ||
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Siehe auch</span><br/> = |
[[$BAUD]] , [[BAUD]] , [[CONFIG CLOCKDIV|CONFIG CLOCKDIV]] | [[$BAUD]] , [[BAUD]] , [[CONFIG CLOCKDIV|CONFIG CLOCKDIV]] | ||
Line 53: | Line 53: | ||
<span style="font-family: 'Arial'; color: #000000"> </span> | <span style="font-family: 'Arial'; color: #000000"> </span> | ||
− | = <span class="f_Header"> | + | = <span class="f_Header">Beispiel</span><br/> = |
<source lang="bascomavr"> | <source lang="bascomavr"> |
Latest revision as of 02:06, 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.
Siehe auch
$BAUD , BAUD , CONFIG CLOCKDIV
Beispiel
$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 |
---|