|
|
C-ControlDas Steuerungsmodul C-Control (CONRAD-Control) wird vom Elektronikfachgeschäft Conrad Electronic produziert und vermarktet. Die seit 1997 produzierte Modulreihe wird heute in verschiedenen Variationen vertrieben. Neben einem auf einem Motorola MC68HC05B6 basierenden Controller in einer Standard- (Basic) und Kompaktausführung (M Unit), wird seit Mitte 2004 nun auch die Nachfolgegeneration der M Unit im Form der M Unit 2.0 und C-Control Micro verkauft. Eine Weiterentwicklung der C-Control I stellt die C-Control II dar, die durch eine dritte C-Control Version, der C-Control Pro, Mitte 2005 ergänzt wurde. Die C-Control wird vorallem wegen des einfachen Handlings, dem zahlreichen Zubehör und dem großen Angebot an deutschsprachiger Literatur gern verwendet.
[Bearbeiten] Versionen[Bearbeiten] Kommerzielle ControllerVor 1996 gab es eine C-Control 1.0 Version, die allerdings nicht mit den noch heute erhältlichen Mikrocontrollern der Generation I kompatibel ist. Später kam dann die C-Control 1.1 auf den Markt, die nun nicht nur in der grafischen Programmiersprache CCPLUS, sondern auch in dem BASIC-Dialekt CCBasic programmiert werden konnte. Die C-Control 1.1 ist sowohl als BASIC Unit als auch M-Unit 1.1 verfügbar. Zusätzlich gibt es seit Ende 2000 die C-Control II (auch C-Control 2 oder CC2 genannt) basierend auf einem Infineon-16-Bit-Mikrocontroller. Diese hat mit der C-Control I nur sehr wenig gemeinsam. Durch das Multithreading, die vorhandene Möglichkeit der Stringverarbeitung, sowie der 64-Bit-Fließkommaarithmetik und des für einen Mikrocontroller sehr großen Speichers, ist die C-Control II weiterhin die umfangreichste Variante. Durch CC2Net.de ist der Support zur C-Control II sehr gut, so dass man bei einem Problem schnell Hilfe findet. Seit Mitte 2004 ist auch die Nachfolgegeneration der C-Control 1.1, die C-Control M Unit 2.0 erhältlich. Ziel des neuen Controllers ist es eine weitesgehende Kompatibilität zur alten M Unit 1.1 zu halten. Neben der C-Control M Unit 2.0 wurde auch die C-Control Micro veröffentlich. Die Micro ist ein einzelner Chip, der ohne äußerliche Beschaltung lauffähig ist. Seit Mitte Mai 2005 gibt es die dritte Variante, die C-Control Pro (auch CC-Pro genannt). Diese Variante der C-Control hat wiederum wenig mit den vorherigen beiden gemeinsam. [Bearbeiten] Alternative ControllerEs gibt neuerdings auch einige alternative Controller, die zumindest in Teilen auf das BASIC-System der C-Control I zurückgreifen. Anfang 2004 wurde das Projekt CC1-OS eingestellt. Das Projekt verfolgte das Ziel die C-Control I zu erweitern. Als weitere Alternativen stehen die B-Control (verwendet ATmega32 oder ATmega128 und eigenen "m-Basic"-Interpreter), die Open Mini und Open Micro zur Auswahl. [Bearbeiten] AnwendungenMit der C-Control lassen sich einfache Automatisierungsvorgänge für den privaten, aber auch semiprofessionellen Bereich realisieren. Durch die C-Control M Unit 2.0 wird eine, im Vergleich zur Vorgängerversion, 38 mal höhere Ausführungsgeschwindigkeit erreicht. Auch der Umgang mit dem I²C-Bus, externen Komponenten oder LC-Displays wurde vereinfacht. Die C-Control II wird sogar sehr häufig im professionellen Bereich eingesetzt. Je nach Anforderung kann dabei auf die unterschiedlichen Fähigkeiten der jeweiligen Controller zurückgegriffen werden. [Bearbeiten] ProgrammierungProgrammiert wird die C-Control I mit dem speziellen Basic-Dialekt BASIC++ oder dem Vorgänger CCBasic. Die Speicherverwaltung und Umsetzung der Hochsprachenkommandos (z.B. Strings, Tabellen, Schleifen) in einen primitiven Tokencode geschieht durch einen echten Compiler. Dieser Code wird dann von einem einfachen Stackorientierten Interpreter ausgeführt. Hieraus ergibt sich auch der eingeschränkte Wertebereich vom Word-(16 Bit) und Byte-(8 Bit) Zahlen sowie Einzelbits. Alternativ kann man auch auf die Programmiersprache mBasic oder die C-ähnliche Sprache C3C zurückgreifen. Programmierung in Assembler ist ab der M-Unit I 2.0 nur mit dem speziellem Assembler CCASM möglich, der auch Bestandteil der Workbench++ ist. Die M-Unit akzeptiert nur den mit einer Signatur versehenen Code, um ein Auslesen und Reengineering des Betriebssystems zu verhindern. Hierzu werden weiterhin bestimmte Assemblerbefehle und Adressierungsarten durch Macros ersetzt, die die Gültigkeit des "erlaubten" Adressbereiches überprüfen und den Befehl ggf durch ein "NOP" ersetzen
Main() ' Dies ist ein Kommentar FUNCTION Main() DEFINE i AS BYTE DEFINE MeinString AS STRING * 10 LCD.INIT LCD.CLEAR FOR i = 1 TO 10 MeinString = "Wert von i = " & STR(i) LCD.PRINT MeinString NEXT i LCD.OFF END FUNCTION
Beispiel in BASIC++ mit dynamischen Strings und LC-Display-Ausgabe Die Programmierung der leistungsstärkeren C-Control II erfolgt dagegen mit der Programmiersprache C2. Allerdings können hier auch Assemblerroutinen leicht eingebunden werden.
thread main
{
byte second;
stports.init();
stports.LCDlight(1);
lcdext.init();
lcdext.print("Hello World");
second=system.second();
loop
{
lcdext.line(2);
lcdext.time(0);
stports.togLED(1);
sleep 490;
stports.togLED(1);
wait system.second()!=second;
second=system.second();
}
}
C2 Beispiel Die C-Control Pro wird in (echtem) C und Basic programmiert. [Bearbeiten] LiteraturDie C-Control zeichnet sich durch ein großes Angebot an deutschsprachiger Literatur aus. Der Einstieg in der Welt der Mikrocontroller erfolgt daher oft mit der C-Control. Die zahlreichen Bücher und Internetseiten greifen dabei sowohl Themen für Anfänger als auch Fortgeschrittene auf. [Bearbeiten] LiteraturlisteSortiert nach Erscheinungsdatum:
[Bearbeiten] Weblinks
[Bearbeiten] Forum[Bearbeiten] C-Control Pro |