PICALIC | Lichtcontroller nach ALIC Standard - V. 2.0 | |||||
Über PICALIC V2.0KochbuchDatenblattImplementierter ALIC-Befehlssatz#definesLED Treiber-schaltungen Datenschutz,
|
Serielle SchnittstelleDer serielle Eingang ermöglicht die Steuerung der Switches 0 bis 7 über ein einfaches Datenprotokoll. Dank der Adressierungsmöglichkeit können mehrere (bis zu 256) Controller zusammen an nur einer Datenleitung betrieben werden und trotzdem bleibt jeder Controller über seine eingestellte Adresse individuell ansprechbar. FormatJedes Datenbyte besteht aus einem Startbit ("0"-Pegel), 8 Datenbits und einem Stopbit ("1"-Pegel). Die Übertragungsgeschwindigkeit wird per "#define BAUDRATE xxx" in der Datei "picalic.asm" eingestellt und kann zwischen 100 und 10 000 Baud liegen. Dort kann auch über "#define SD_INVERS TRUE|FALSE" auch die Polarität eingestellt werden. Signalverlauf am seriellen Eingang für ein Byte:
ProtokollJedes Kommando beginnt mit einem '@'-Zeichen (0x40), dem die
Adresse des anzusprechenden Controllers folgt. Die Adresse wird
hexadezimal als zwei Bytes übertragen (ASCII-codiert, Zeichen
0..9, A..F als Grossbuchstaben!). Wenn die Adresse nicht mit dem
im EEPROM des Controllers in Speicherzelle EE_deviceID abgelegten
Wert übereinstimmt, wird das Kommando ignoriert. Allgemeines Format der Kommandos:@ <Adresse> <Kommandocode> <Daten> [CR] Switch-Daten auf neuen Wert ändern:@ <Adresse> = <Daten> [CR] Die Switches (0..7) können hiermit alle gemeinsam und unabhängig von ihrem vorherigen Status auf den gewünschten, neuen Wert eingestellt werden. Beispiel: @25=1E[CR] Einen oder mehrere Switches einschalten@ <Adresse> S <Daten> [CR] Hiermit kann ein einzelner Switch oder eine Auswahl der Switches
eingeschaltet werden, ohne die anderen Switches zu beeinflussen. Beispiel: @25S04[CR] Einen oder mehrere Switches ausschalten@ <Adresse> R <Daten>
[CR] Hiermit kann ein einzelner Switch oder eine Auswahl der Switches
ausgeschaltet werden, ohne die anderen Switches zu beeinflussen. Beispiel: @25R14[CR] Adresse des Controllers ändern@ <Adresse> PRG <Daten> [CR] Der Datenwert wird in die EEPROM-Speicherzelle EE_deviceID geschrieben. Zur Bestätigung des erfolgreich durchgeführten Programmiervorgangs blinken die LEDs ein paar mal auf. Beispiel: @FFPRG25[CR] In der Regel enthält die Speicherzelle EE_deviceID nach der Programmierung des Controllers den Wert 0xFF, so daß über den Befehl "@FFPRG<Adresse>[CR]" bei neuen Controllern die initiale Adresszuweisung durchgeführt werden kann. |
|||||