$CRYSTAL/de
Aus MCS Wiki AVR
< $CRYSTAL
Inhaltsverzeichnis |
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 |
---|