Einfügen als Gemeinsames Modul
Funktionen:
init()
Beschreibung Nach oben
Das Modul ccrp5.c2 ist der Treiber für den CONRAD-Roboter
CCRP5 mit Basiserweiterung und einem oder zwei LC-Displays, um diesen mit der C-Control II steuern, sowie die Sensoren abfragen zu können.
In die C-Control I des Roboters muß die aktuelle Version von gateway_2.bas
geladen werden!
Die C-Control I des CCRP5 dient dann lediglich als Interface.
Einfügen als Gemeinsames Modul Nach oben
Die Datei ccrp5.c2 in das Verzeichnis .\CControl2\UserLib
der IDE
kopieren und in der Datei modules.txt die Zeile ccrp5.c2 am Ende einfügen (falls sie noch nicht
vorhanden ist!).
Ein zusätzliches Ausrufezeichen unmittelbar nach einem Modulnamen in modules.txt
bestimmt, daß das Modul in jedem neuen Projekt von Anfang an aktiviert wird.
Zum Betrieb von ccrp5.c2 ab V2.0 darf ccrp5.hex nicht mehr
geladen werden!!
Konstanten Nach oben
Mit den hier angeführten Konstanten werden die Bedingungen (conditions) für das Beenden
des SLEEP-Modus bei der Funktion
SLEEPUNTIL() festgelegt:
const CONDITION_LowPower = 0;
// Entladespannung erreicht
const CONDITION_ChargeComplete = 1; //
Ladeendspannung erreicht
const CONDITION_ChargeCurLow = 2; //
Ladestrom niedrig
const CONDITION_ChargeCurHigh = 3; //
Ladestrom hoch
const CONDITION_Noise =
4; // Geräusch
bemerkt
const CONDITION_Touch =
5; // Berührung
bemerkt
const CONDITION_Dark
= 6; // Dunkelheit
eingetreten
const CONDITION_Bright = 7;
// Helligkeit eingetreten
const CONDITION_AD8_Low = 8;
// AD8-Wert niedrig
const CONDITION_AD8_High = 9;
// AD8-Wert hoch
const CONDITION_ACS
=10; // ACS-Sensor
angesprochen
const CONDITION_IR_RXD =11;
// IR-Kommando empfangen
const CONDITION_DCF_ACTIVE =12;
// DCF-Empfang aktiv
const CONDITION_UserDefine =13;
// Benutzerdefinierte Bedingung (*)
Zu (*): Die "Benutzerdefinierte Bedingung" muß auf der C-Control I Ebene, d.h. in gateway_2.bas festgelegt werden. Solange hier keine neue Bedingung implementiert ist, kann die CONDITION_UserDefine nicht genutzt werden! Wie eine neue Bedingung eingefügt werden kann, wird in gateway_2.bas beschrieben.
Funktionen:
init() Nach oben
function init()
Die Funktion init() initialisiert den CCRP5-Treiber und muß am Anfang des thread main aufgerufen werden. Sie gibt einen Byte-Wert zurück, anhand dessen unterschieden werden kann, ob die C-Control II nach einem SLEEP-Modus [1] (siehe Funktionen SLEEP() und SLEEPUNTIL()!) oder durch Reset [0] ohne vorausgehenden SLEEP-Modus neu gestartet wird.
checkFAIL() Nach oben
function checkFAIL()
Die Funktion checkFAIL() gibt den Wert Null zurück, wenn die serielle Kommunikation zwischen der C-Control II und der C-Control I des CCRP5 korrekt abläuft.
LCD_blink() Nach oben
function LCD_blink(int state)
Mit LCD_blink() wird das Blinken des LCDs ein- oder ausgeschaltet.
state | Status: AUS [0], EIN [<> 0] |
blinkon() Nach oben
function blinkon()
Mit blinkon() wird das Blinken des LCDs eingeschaltet.
blinkoff() Nach oben
function blinkoff()
Mit blinkoff() wird das Blinken des LCDs ausgeschaltet.
showport() Nach oben
function showport(byte port)
Die Funktion showport() dient zur Ausgabe der acht Bitzustände eines Byteports oder einer Bytevariable auf dem LCD, z.B. in der Form "00011001" (für port = 25).
port | Byte [0..255] |
getCNSTAT() Nach oben
function getCNSTAT()
Die Funktion getCNSTAT() gibt einen Byte-Wert zurück, der der Variable SYSTEM_STATUS des C-Control I Gateway_2-Programms entspricht. Durch den regelmäßigen Aufruf ("polling") dieser Funktion und Auswerten der Bits 0..2 kann ein Programm feststellen, ob einer der IR-Anti-Kollisionssensoren des ACS angesprochen hat oder ein IR-Signal über IRCOMM empfangen wurde.
Die Bits von SYSTEM_STATUS haben folgende Bedeutung:
Bit 0 | ACSR_F (rechter Sensor des ACS angesprochen) |
Bit 1 | ACSL_F (linker Sensor des ACS angesprochen) |
Bit 2 | IR_F (IR-Daten empfangen) |
FWD() Nach oben
function FWD(byte speed_l, byte speed_r)
Die Funktion FWD() ist das Motor-Kommando "Vorwärts".
speed_l | Geschwindigkeit linke Kette [0..255] |
speed_r | Geschwindigkeit rechte Kette [0..255] |
REV() Nach oben
function REV(byte speed_l, byte speed_r)
Die Funktion REV() ist das Motor-Kommando "Rückwärts".
speed_l | Geschwindigkeit linke Kette [0..255] |
speed_r | Geschwindigkeit rechte Kette [0..255] |
ROTL() Nach oben
function ROTL(byte speed_l, byte speed_r)
Die Funktion ROTL() ist das Motor-Kommando "Links-Drehen".
speed_l | Geschwindigkeit linke Kette [0..255] |
speed_r | Geschwindigkeit rechte Kette [0..255] |
ROTR() Nach oben
function ROTR(byte speed_l, byte speed_r)
Die Funktion ROTR() ist das Motor-Kommando "Rechts-Drehen".
speed_l | Geschwindigkeit linke Kette [0..255] |
speed_r | Geschwindigkeit rechte Kette [0..255] |
FWDL() Nach oben
function FWDL(byte speed_l)
Die Funktion FWDL() ist das Motor-Kommando "Linke Kette vorwärts".
speed_l | Geschwindigkeit linke Kette [0..255] |
FWDR() Nach oben
function FWDR(byte speed_r)
Die Funktion FWDR() ist das Motor-Kommando "Rechte Kette vorwärts".
speed_r | Geschwindigkeit rechte Kette [0..255] |
REVL() Nach oben
function REVL(byte speed_l)
Die Funktion REVL() ist das Motor-Kommando "Linke Kette rückwärts".
speed_l | Geschwindigkeit linke Kette [0..255] |
REVR() Nach oben
function REVR(byte speed_r)
Die Funktion REVR() ist das Motor-Kommando "Rechte Kette rückwärts".
speed_r | Geschwindigkeit rechte Kette [0..255] |
getSYSTEMDATA() Nach oben
function getSYSTEMDATA()
Mit der Funktion getSYSTEMDATA() werden die Sensoren für die Systemdaten abgefragt. Die Ergebnisse stehen anschließend in folgenden vier Variablen:
SYSVOLTS | Akkuspannung [0..255] |
SYSCURRENT | Stromverbrauch des Antriebs [0..255] |
CHRCURRENT | Ladestrom [0..255] |
NOTUSED | Nicht benutzt [immer 0] |
getAMBIENT_SENS() Nach oben
function getAMBIENT_SENS()
Mit der Funktion getAMBIENT_SENS() werden die Umgebungs-Sensoren abgefragt. Die Ergebnisse stehen anschließend in folgenden vier Variablen:
LIGHTL | Helligkeit linker Sensor [0..255] |
LIGHTR | Helligkeit rechter Sensor [0..255] |
MIC | Wert des Geräuschsensors [0..255] |
TOUCH | Wert des Berührungssensors [0..255] |
getAD8() Nach oben
function getAD8()
Mit der Funktion getAD8() wird der Wert [0..255] des A/D-Wandlers 8 der C-Control I gelesen. Dieser A/D-Wandler wird bei der Original-Ausstattung des CCRP5 nicht genutzt.
getCC1STAT() Nach oben
function getCC1STAT()
Mit der Funktion getCC1STAT() wird der Inhalt [0..255] des Statusregisters der C-Control I gelesen.
Die Bits des Statusregisters haben folgende Bedeutung:
Bit 0 | Aktuell wird ein gültiges DCF77-Signal empfangen |
Bit 4 | Die Systemzeit wurde mindestens einmal gestellt |
Bit 5 | Der Energiesparmodus (SlowMode) ist aktiv |
setACSLO() Nach oben
function setACSLO()
Die Funktion setACSLO() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Niedrig".
setACSHI() Nach oben
function setACSHI()
Die Funktion setACSHI() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Hoch".
setACSMAX() Nach oben
function setACSMAX()
Die Funktion setACSMAX() setzt die Reichweite des IR-Anti-Kollisionssystems (ACS) auf "Maximal".
setRC5() Nach oben
function setRC5()
Die Funktion setRC5() stellt das IR-Kommunikationssystem (IRCOMM) des CCRP5 auf das Format RC5 ein.
setREC80() Nach oben
function setREC80()
Die Funktion setREC80() stellt das IR-Kommunikationssystem (IRCOMM) des CCRP5 auf das Format REC80 ein.
txIRDATA() Nach oben
function txIRDATA(byte address, byte command)
Die Funktion txIRDATA() sendet eine Adresse und ein Kommando im gewählten IR-Format (siehe Funktionen setRC5() und setREC80()!) über das IR-Kommunikationssystem des CCRP5.
address | Adresse: RC5 [0..31]*, REC80 [0..63] |
command | Kommando: RC5 [0..63], REC80 [0..127] |
Zu *: Bei Verwendung des Toggle-Bits (T) sind bei RC5 auch die Adressen [0..63] nutzbar!
rxIRDATA() Nach oben
function rxIRDATA()
Die Funktion rxIRDATA() empfängt eine Adresse und ein Kommando im gewählten IR-Format (siehe Funktionen setRC5() und setREC80()!) über das IR-Kommunikationssystem des CCRP5. Das Ergebnis steht anschließend in folgenden beiden Variablen:
IRADR | Adresse: RC5 [0..31]*, REC80 [0..63] |
IRCMD | Kommando: RC5 [0..63], REC80 [0..127] |
Zu *: Bei Verwendung des Toggle-Bits (T) sind bei RC5 auch die Adressen [0..63] nutzbar!
txTLM() Nach oben
function txTLM(byte address, byte data)
Die Funktion txTLM() sendet eine Adresse bzw. einen Kanal und ein Daten-Byte über das IR-Kommunikationssystem des CCRP5. Für diese Telemetrie ist das IR-Format RC5 (siehe Funktion setRC5()!) vereinbart.
address | Adresse [1..15], Kanal [0..15] |
data | Telemetrie-Daten [0..255] |
rxTLM() Nach oben
function rxTLM()
Die Funktion rxTLM() empfängt eine Adresse bzw. einen Kanal und ein Daten-Byte über das IR-Kommunikationssystem des CCRP5. Für diese Telemetrie ist das IR-Format RC5 (siehe Funktion setRC5()!) vereinbart. Das Ergebnis steht anschließend in folgenden beiden Variablen:
IRADR | Adresse [1..15], Kanal [0..15] |
IRCMD | Telemetrie-Daten [0..255] |
txADDRESSED_DATA() Nach oben
function txADDRESSED_DATA(byte address, byte command)
Die Funktion txADDRESSED_DATA() sendet eine Empfänger-Adresse (address), die eigene Adresse (in der Variable DEVICEADDRESS [0..7]) und ein Kommando im adressierten Modus (siehe Funktion ADDRESSED_MODEon()!) über das IR-Kommunikationssystem des CCRP5. Ein anderer CCRP5 wird diesen Datenrahmen (im adressierten Modus) nur dann annehmen, wenn seine eigene Adresse mit der gesendeten Empfänger-Adresse übereinstimmt.
address | Empfänger-Adresse [0..7] |
command | Kommando [0..63] |
rxADDRESSED_DATA() Nach oben
function rxADDRESSED_DATA()
Die Funktion rxADDRESSED_DATA() empfängt eine Sender-Adresse und ein Kommando im adressierten Modus (siehe Funktion ADDRESSED_MODEon()!) über das IR-Kommunikationssystem des CCRP5. Dieser Datenrahmen wird nur angenommen, wenn die darin enthaltene Empfänger-Adresse mit der eigenen Adresse (in der Variable DEVICEADDRESS [0..7]) übereinstimmt. Die Überprüfung des Datenrahmens erfolgt automatisch im Subsystem des CCRP5. Das Ergebnis steht anschließend in folgenden beiden Variablen:
IRADR | Sender-Adresse [0..7] |
IRCMD | Kommando [0..63] |
ADDRESSED_MODEon() Nach oben
function ADDRESSED_MODEon()
Die Funktion ADDRESSED_MODEon() schaltet den adressierten Modus ("Addressed Mode") des IR-Kommunikationssystems des CCRP5 ein. Mit der adressierten IR-Kommunikation können bis zu 8 Roboter untereinander Informationen austauschen.
ADDRESSED_MODEoff() Nach oben
function ADDRESSED_MODEoff()
Die Funktion ADDRESSED_MODEoff() schaltet den adressierten Modus des IR-Kommunikationssystems des CCRP5 aus.
setADDRESS() Nach oben
function setADDRESS(byte dev_address)
Die Funktion setADDRESS() schaltet den adressierten Modus ("Addressed Mode") für die IR-Kommunikation des CCRP5 ein. Mit dem Parameter dev_address wird eine Geräte-Adresse ("Device address") festgelegt. Diese Adresse wird beim Senden und Empfang als eigene Adresse des Roboters benutzt und ist nach dem Aufruf dieser Funktion in der Variable DEVICEADDRESS [0..7] verfügbar.
dev_addr | Geräte-Adresse [0..7] |
waitPING() Nach oben
function waitPING()
Die Funktion waitPING() wartet im Rahmen der IR-Kommunikation maximal eine Minute lang auf ein Ping und gibt die Ping-Länge zurück.
setLED() Nach oben
function setLED(byte led, byte state)
Mit setLED() wird eine der vier LEDs auf dem CCRP5 ein- oder ausgeschaltet.
led | LED auf dem CCRP5 [1..4] |
state | Status: AUS [0], EIN [<> 0] |
LEDon() Nach oben
function LEDon(byte led)
Die Funktion LEDon() schaltet eine der vier LEDs auf dem CCRP5 ein.
led | LED auf dem CCRP5 [1..4] |
LEDoff() Nach oben
function LEDoff(byte led)
Die Funktion LEDoff() schaltet eine der vier LEDs auf dem CCRP5 aus.
led | LED auf dem CCRP5 [1..4] |
LEDSoff() Nach oben
function LEDSoff()
Die Funktion LEDSoff() schaltet alle vier LEDs auf dem CCRP5 aus.
setL() Nach oben
function setL(byte led, byte state)
Mit setL() wird eine der acht LEDs auf der Basiserweiterung ein- oder ausgeschaltet.
led | LED auf der Basiserweiterung [1..8] |
state | Status: AUS [0], EIN [<> 0] |
Lon() Nach oben
function Lon(byte led)
Die Funktion Lon() schaltet eine der acht LEDs auf der Basiserweiterung ein.
led | LED auf der Basiserweiterung [1..8] |
Loff() Nach oben
function Loff(byte led)
Die Funktion Loff() schaltet eine der acht LEDs auf der Basiserweiterung aus.
led | LED auf der Basiserweiterung [1..8] |
LSoff() Nach oben
function LSoff()
Die Funktion LSoff() schaltet alle acht LEDs der Basiserweiterung aus.
BEEP() Nach oben
function BEEP(int freq, byte length)
Mit der Funktion BEEP() können Töne über den Lautsprecher des CCRP5 ausgegeben werden.
freq | Tonhöhe [0..65535] (250000/freq Hertz) |
length | Tonlänge [0..255] (20*length Millisekunden) |
clearDISTANCE() Nach oben
function clearDISTANCE()
Die Funktion clearDISTANCE() setzt die Werte des linken und rechten Wegstreckenzählers (NAV) auf Null zurück.
getDISTANCE() Nach oben
function getDISTANCE()
Mit der Funktion getDISTANCE() werden die Wegstreckenzähler (NAV) abgefragt. Die Ergebnisse stehen anschließend in folgenden beiden Variablen:
DISTL | Wert linker Wegstreckenzähler [0..65535] |
DISTR | Wert rechter Wegstreckenzähler [0..65535] |
setRTC() Nach oben
function setRTC()
Die Funktion setRTC() überträgt die C-Control II Uhrzeit (Stunde, Minute, Sekunde) in die RTC der C-Control I des CCRP5.
getRTC() Nach oben
function getRTC()
Die Funktion getRTC() überträgt die Uhrzeit (Stunde, Minute, Sekunde) aus der RTC der C-Control I des CCRP5 in die C-Control II.
setRTCDATE() Nach oben
function setRTCDATE()
Die Funktion setRTCDATE() überträgt das C-Control II Datum (Jahr, Monat, Tag) in die RTC der C-Control I des CCRP5.
getRTCDATE() Nach oben
function getRTCDATE()
Die Funktion getRTCDATE() überträgt das Datum (Jahr, Monat, Tag) aus der RTC der C-Control I des CCRP5 in die C-Control II.
SLEEP() Nach oben
function SLEEP(byte hours, byte minutes)
Durch die Funktion SLEEP() wird die C-Control II für eine Dauer, die durch die Zeitangabe in hours (Stunden) und minutes (Minuten) festgelegt wird, ausgeschaltet. Dieser SLEEP-Modus kann sinnvoll sein, um bei längerer Inaktivität Strom zu sparen. Er wird vorzeitig abgebrochen, wenn die Akkuspannung zu niedrig wird. Nach jedem "Aufwachen" sollte daher ein Test der Akkuspannung erfolgen.
hours | Stunden [0..255] |
minutes | Minuten [1..59] |
SLEEPUNTIL() Nach oben
function SLEEPUNTIL(byte mode, byte condition)
Durch die Funktion SLEEPUNTIL() wird die C-Control II solange ausgeschaltet, bis die Bedingung (condition) erfüllt ist. Dieser SLEEP-Modus wird unabhängig von der Bedingung vorzeitig abgebrochen, wenn die Akkuspannung zu niedrig wird. Nach jedem "Aufwachen" sollte daher ein Test der Akkuspannung erfolgen. Die 14 Bedingungen sind als Konstanten verfügbar. Zu jeder Bedingung gehört ein Modus (mode), der die Aufwach-Bedingung genauer beschreibt (z.B. die Höhe des Ladestroms, wenn das Absinken oder Ansteigen des Ladestroms als Aufwach-Bedingung gewählt wurde).
mode | Modus [0..255] |
condition | Aufwach-Bedingung [0..13] |
writeFILE() Nach oben
function writeFILE(int data)
Mit der Funktion writeFILE() können Daten in den Speicher der C-Control I geschrieben werden, um sie z.B. nach einem SLEEP-Modus wieder nutzen zu können. Diese Funktion öffnet zunächst den Speicherzugriff, schreibt dann die Daten (data) in den EEPROM-Speicher der C-Control I. Weitere Daten können sequentiell durch erneuten Aufruf dieser Funktion gespeichert werden. Vor jedem Schreibzugriff sollte mit der Funktion getFILEFREE() geprüft werden, ob noch Speicherplatz frei ist. Sind alle Daten übertragen, muß der Speicherzugriff durch die Funktion closeFILE() geschlossen werden.
data | Daten (Integer) |
readFILE() Nach oben
function readFILE()
Mit der Funktion readFILE() können Daten aus dem Speicher der C-Control I gelesen werden, die dort zuvor mit der Funktion writeFILE() gespeichert wurden. Diese Funktion öffnet zunächst den Lesezugriff, liest dann die Daten (data = readFILE() ). Weitere Daten können sequentiell durch erneuten Aufruf dieser Funktion gelesen werden. Vor jedem Lesezugriff sollte mit der Funktion getEOF() geprüft werden, ob weitere Daten gelesen werden können. Sind alle Daten gelesen, muß der Speicherzugriff durch die Funktion closeFILE() geschlossen werden.
closeFILE() Nach oben
function closeFILE()
Die Funktion closeFILE() schließt den Speicherzugriff auf den C-Control I Speicher, der durch die Befehle readFILE() oder writeFILE() geöffnet worden war.
getEOF() Nach oben
function getEOF()
Die Funktion getEOF() gibt einen Byte-Wert zurück. Solange dieser Wert Null ist, können mit der Funktion readFILE() einmalig weitere Daten aus dem Speicher der C-Control I gelesen werden. Gibt diese Funktion einen Wert ungleich Null zurück, sind keine weiteren Daten gespeichert, und es dürfen dann keine weiteren Lesezugriffe erfolgen.
getFILEFREE() Nach oben
function getFILEFREE()
Die Funktion getFILEFREE() gibt einen Byte-Wert zurück. Solange dieser Wert ungleich Null ist, können mit der Funktion writeFILE() einmalig weitere Daten in den Speicher der C-Control I geschrieben werden. Gibt diese Funktion Null zurück, ist der Speicher voll. Das C-Control I System kann abstürzen, wenn dann noch weitere Daten geschrieben werden!
setCNMODE() Nach oben
function setCNMODE(byte mode)
Mit der Funktion setCNMODE() kann der Subsystem-Modus (mode) des CCRP5 eingestellt werden. Die Nutzung dieser Funktion setzt Kenntnisse der CCRP5-Hardware voraus. Eine falsch vorgenommene Einstellung kann zum Absturz des C-Control I Systems führen! Siehe auch Funktion getCNMODE()!
mode | Subsystem Modus [0..255] |
getCNMODE() Nach oben
function getCNMODE()
Die Funktion getCNMODE() liest den aktuellen Subsystem Modus. Mit der Funktion setCNMODE() kann dieser Modus geändert werden.
Die Bits des Subsystem Modus haben folgende Bedeutung:
Bit 0 | IR-Format: RC5 [0], REC80 [1] |
Bit 1 | IR Interrupt Enable |
Bit 2 | ACS Interrupt Enable |
Bit 4 | Addressed Mode: Off [0], On [1] |
Bit 5 | Nicht dokumentiert: ACS POWER LO (= EXTPORT Bit 1) |
Bit 6 | Nicht dokumentiert: ACS POWER HI (= EXTPORT Bit 2) |
setCNPOWER() Nach oben
function setCNPOWER(byte state)
Mit der Funktion setCNPOWER() kann das Subsystem des CCRP5 ein- oder ausgeschaltet werden. Das Ein-/Ausschalten des Subsystems erfolgt autonom durch das Gateway_2-Programm! Die Nutzung dieser Funktion setzt Kenntnisse der CCRP5-Hardware voraus. Eine falsch vorgenommene Einstellung kann zum Absturz des C-Control I Systems führen!
state | Status: AUS [0], EIN [<> 0] |
initLCD() Nach oben
function initLCD()
Die Funktion initLCD() initialisiert das LC-Display der C-Control I (am Stecker LCD1 auf der Basiserweiterung). Die Initialisierung erfolgt auch durch das Gateway_2-Programm, so daß diese Funktion normalerweise nicht aufgerufen werden muß.
clearLCD() Nach oben
function clearLCD()
Die Funktion clearLCD() löscht das LC-Display der C-Control I.
writeLCD() Nach oben
function writeLCD(byte char)
Die Funktion writeLCD() gibt das Zeichen auf dem LC-Display der C-Control I aus, dessen ASCII-Wert (char) der Funktion übergeben wird. Die Werte 1 und 2 werden hierbei nicht als ASCII-Werte interpretiert, sondern bewirken den Zeilenwechsel zu Zeile 1 bzw. 2.
char | ASCII-Wert oder Zeilenwechsel [1..2] |
printLCD() Nach oben
function printLCD(string s)
Die Funktion printLCD() gibt den im String s enthaltenen Text auf dem LC-Display der C-Control I aus.
s | Text (String) |
getPORTS() Nach oben
function getPORTS()
Die Funktion getPORTS() liest die beiden Byte-Ports der C-Control I und gibt sie als Integer-Wert (16 Bit) aus. Die Port-Zustände sind nur sinnvoll auswertbar, wenn zumindest einige Ports als Eingänge definiert sind. Normalerweise sind alle Ports des CCRP5 als Ausgänge definiert.
pulsePORT() Nach oben
function pulsePORT(byte port)
Die Funktion pulsePORT() gibt einen kurzen Impuls am gewünschten Port aus.
port | Port [1..4, 7, 9..16] |
deactPORT() Nach oben
function deactPORT(byte port)
Die Funktion deactPORT() deaktiviert den gewünschten Port, der hierdurch zum Eingang wird.
port | Port [9..16] |
setPORT() Nach oben
function setPORT(byte port, byte state)
Die Funktion setPORT() setzt den gewünschten Port auf 0 oder 1.
port | Port [1..7, 9..16] |
state | Status: [0..1] |
PORTon() Nach oben
function PORTon(byte port)
Die Funktion PORTon() setzt den gewünschten Port auf 1.
port | Port [1..7, 9..16] |
PORToff() Nach oben
function PORToff(byte port)
Die Funktion PORToff() setzt den gewünschten Port auf 0.
port | Port [1..7, 9..16] |
showSYSVOLTS() Nach oben
function showSYSVOLTS()
Die Funktion showSYSVOLTS() nutzt die acht LEDs der Basiserweiterung, um die Höhe der Akkuspannung (Variable SYSVOLTS) darzustellen.
showLIGHT() Nach oben
function showLIGHT()
Die Funktion showLIGHT() nutzt die acht LEDs der Basiserweiterung, um die Helligkeit (Variable LIGHTL) darzustellen.
Autor/Vorlage:
André Helbig Mail: andre.h@cc2net.de
Erstellt: 17.9.2004
Funktionsbeschreibung: Dirk Ottensmeyer Mail: dirk.ottensmeyer@owl-online.de
Erstellt: 19.12.2005