$CRYSTAL/de

From MCS Wiki AVR
Jump to: navigation, search

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.

 

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.

 

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  
Personal tools
Namespaces
Variants
Actions
Navigation
In other languages
Language