pfw:togglealedwithsingletasto
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
pfw:togglealedwithsingletasto [2025-06-21 22:12] – [Various DUMP Implementations] mka | pfw:togglealedwithsingletasto [2025-06-22 00:20] (aktuell) – geöscht mka | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ===== Switch LED on and off in a button | ||
- | Hier wird eine LED sauber an- und wieder aus geschaltet. | ||
- | |||
- | ==== Idea ==== | ||
- | |||
- | Als Modell diente der Taster, der auch schon in der Demo von tasto und clavis benutzt worden ist. Im Taster ist eine LED integriert. Die soll getoggle werden. | ||
- | |||
- | bild | ||
- | |||
- | |||
- | ==== Implementation ==== | ||
- | |||
- | It's assumed that a program periodically checks whether the switch has been pressed and then changes the state of the LED. | ||
- | |||
- | The challenge is to eliminate switch bounce so that the user gets a smooth, reliable impression of the changes. The response should be fast enough to be instantaneous, | ||
- | |||
- | ==== Pseudo code for the toggleLED implementation ==== | ||
- | |||
- | //What [[en: | ||
- | |||
- | < | ||
- | Function: init ( -- ) | ||
- | do all initialisation for the intended operation | ||
- | set variable ILED, set portpins ... | ||
- | |||
- | Function: toggleLED ( -- ) \ toggle LED in a button on and off | ||
- | IF: edge detection tells button was pressed | ||
- | toggle LED | ||
- | turn off edge detection | ||
- | IF: bottom finally has been released | ||
- | turn on edge detection | ||
- | </ | ||
- | |||
- | ==== Forth implementation of toggleLED ==== | ||
- | |||
- | |||
- | <code forth> | ||
- | |||
- | </ | ||
- | |||
- | |||
- | |||
- | |||
- | ==== Background information ==== | ||
- | |||
- | More about the DUMP utility can found at the [[https:// | ||
- | |||
- | Some Forth DUMP implementations display a fixed amount of bytes and leave the updated address on the stack so that | ||
- | you can invoke DUMP repeatedly to display successive regions of memory. | ||
- | |||
- | ==== Possible pitfalls with DUMP ==== | ||
- | |||
- | Some systems have hardware memory protection that is triggered if you access memory outside the reserved area. | ||
- | The dump utility can do so by trying to show this forbidden memory. Triggered memory protect might stop the current process and | ||
- | terminate your session. If necessary a suitable test for the validity of used addresses might be reasonable on such systems so that | ||
- | dump can issue a normal error message (or display dummy data) in theses cases and leave the system / session otherwise intact. | ||
- | |||
- | ==== Contributions ==== | ||
- | |||
- | < | ||
- | |||
- | You have another approach to DUMP? | ||
- | |||
- | Please add it at the end of this document. | ||
- | |||
- | ~~DISCUSSION~~ |
pfw/togglealedwithsingletasto.1750536723.txt.gz · Zuletzt geändert: 2025-06-21 22:12 von mka