Embedded systemen en firmware
Welke methode is het meest geschikt om contactdender van een schakelaar met software te verwijderen?
- AVaker de pin lezen en de schakelaar als ingedrukt beschouwen zodra hij één keer 1 is
- BOm de enkele milliseconden de pin lezen en pas een verandering van toestand aannemen als dezelfde waarde meerdere keren achtereen wordt gelezen
- CBij het indrukken van de schakelaar de microcontroller herstarten
Antwoord en toelichting tonen
Antwoord: B. Om de enkele milliseconden de pin lezen en pas een verandering van toestand aannemen als dezelfde waarde meerdere keren achtereen wordt gelezen
Contactdender is binnen enkele milliseconden voorbij. Als men bijvoorbeeld elke 5 ms de pin leest en een verandering van toestand aanneemt wanneer dezelfde waarde drie keer achtereen wordt gelezen, worden veranderingen tijdens het stuiteren genegeerd. Door periodiek te lezen met een timerinterrupt hoeft de overige verwerking niet te worden gestopt. Is de wachttijd te lang, dan lijkt de reactie traag, dus die wordt afgestemd op de eigenschappen van de schakelaar.