Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen
Aufgrund technischer Veränderungen ist der Mailverkehr innerhalb des Forums (Private Nachrichten) nur noch eingeschränkt möglich. Die Einschränkung ist notwendig, um zusätzliche Betriebskosten für das Forum zu vermeiden. Näheres zu den Hintergründen im Thread "Aktuelles zum Forum".Wir bitten um Verständnis.
Hinweis kann nach Kenntnisnahme deaktiviert werden!
Wenn ich Dim Ledzahl statt Const Ledzahl nehme gibt es nur ein heilloses Geflacker. Warum ist das so? Eigentlich wollte ich das Programm flexibel halten was die Anzahl der LEDs angeht.
Eine Constante wird fest ins Programm gebrannt während eine Variable nur ein definierter Speicherplatz ist, also jedesmal von da geladen werden muß. Das sind verschiedene Befehle/Compilate.
Auch wenn Bascom in sehr vielen Fällen intern die verschiedenen Möglichkeiten zur Verfügung hat ist es in dem Fall nicht vorgesehen.
Ist Rainbow nicht eine lib? Vielleicht kann sie erweitert werden?
Eigentlich wollte ich das Programm flexibel halten was die Anzahl der LEDs angeht.
Wo ist denn dann das Problem mit Const? Const ist doch auch flexibel nur das man es nicht über das Programm selber ändern kann.
Config Rainbow erwartet bei der LED-Anzahl nun mal eine Konstante.
Du willst also zu Laufzeit LEDs hinzufügen bzw. weglassen?
Eine Lösung habe ich nicht, aber mir gefällt Ihr Problem.
Ich wollte die Anzahl über das Programm ändern, wie vom User gewünscht, anschließend einen Reset auslösen.
Mir erschließt sich nur die Logik nicht. Rb0_len erwartet die Anzahl der LEDs. Die übergebe ich ja auch. Trotzdem ist es ein Unterschied ob ich sie als Byte, Word, Integer oder eben Konstante übergebe.
Leider finde ich die Stelle (in der lib ) nicht. Aber zum Verständniss Die Config würde Register 17 mit der Anzahl laden,
dann würde da LDI R17, 15 stehen (wenn 15 der Inhalt Deiner Constanten wäre)
Eine Variable hätte aber den Befehl LDS R17,{Varablenname} der dann den Wert aus der Speicherzelle der Varablen holen müsste. Der braucht doppelt so lange.
das Programm ändern, wie vom User gewünscht, anschließend einen Reset auslösen.
Es ist abenteuerlich, aber nicht unmöglich die Stelle(n) im Flash zu ändern, dann hat es beim Start den neuen Wert. Vorsicht die können bei jeder Programmänderung woanders liegen.
Ich wollte die Anzahl über das Programm ändern, wie vom User gewünscht, anschließend einen Reset auslösen.
Die Anzahl der LEDs ist fest vorgegeben und als Konstante definiert.
Du musst aber nicht alle nutzen.
Also maximale Anzahl in Rb0_len eintragen und im Programm dann nur die User-definierte Länge benutzen.