Forum: Mikrocontroller und Digitale Elektronik Zeitschaltuhr - Bitarray oder Bytewert je Schaltpunkt? (Glaubensfrage?)


von Henning (Gast)


Lesenswert?

Hallo,

ich möchte mir eine 8 Kanal Zeitschaltiuhr programmieren mit einem 
Atmega16, der noch weitere Aufgaben hat und der Programmierung über die 
serielle Schnittstelle per VB-Programm.

Ganz unabhängig der diversen verfügbaren Hard- oder Softwareversionen 
zur Erstellung des ganzen frage ich mich derzeit welches die beste 
"Architektur" für die Schaltzeiten sein dürfe?

1. Bitarray
z.B. bei Tagesschaltuhr 144bit (->18byte), die den ganzen Tag als 
101010.... Bitfolge enthalten und in diesem Beispiel alle 10min wechseln 
können.
Vorteil: maximale 144 Schaltflanken pro Tag ohne Änderung des 
Speicherbedarfs

2. Schaltzeiten in Byte
z.B. 1 Byte pro Schaltzeit wobei die 100er Stellen Vor- oder Nachmittag 
darstellen (0=vormittag, 1=nachmittag) und die 10er und 1er stellen die 
x-te viertelstunden pro vor- oder nachmittag.
Vorteil: weniger Speicherbedarf bei < 18 Schaltflanken je Tag

Was würdet Ihr sagen??

von Falk B. (falk)


Lesenswert?

Bei so wenig Daten ist es schlicht egal. Mach was dir lieber ist. Der 
Mega16 hat 512 Bytes EEPROM.

MFG
Falk

von gast (Gast)


Lesenswert?

ich würde sagen, hängt davon ab wie oft und wie genau du schalten musst.

Ich baue grad eine Schulglocke, wo die Granularität 5 min sein muss,
ich aber nur 23 mal pro Tag schalten muss. Ich habe einfach Std und Min
in je ein Byte gestopft --> 46 Byte (im EEPROM abgelegt).

von (prx) A. K. (prx)


Lesenswert?

Speicherverbrauch ist nur relevant, wenn's eng wird. Die übrig 
gebliebenen Bytes kannst du nämlich nicht an Atmel zurück geben.

von Henning (Gast)


Lesenswert?

also ich habe rund 100-120 byte im eeprom frei. denke dann werde ich das 
mit dem bit-array angehen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.