-
Thread
Wie am besten meine Taster Verriegeln ?
8000000 #include <avr/io.h> #include <util/delay.h> #define Taster1_Down !(PINB&(1<<PB6)) #define Taster2_Down !(PINB&(1<<PB7)) #define Taster3_Down !(PIND&(1<<PD5)) #define Taster4_Down !(PIND&(1<<PD6)) #define Taster5_Down !(PIND&(1<<PD7)) int Flag1 = 0;
) { if(!(*(t.taster.pin) & t.taster.maske)) return i; i++; } return -1; // kein taster gedrueckt } int main(void) { for(TasterDingen &t:td) { // Inputs vorbereiten *(t.taster.ddr
-
Thread
EMV: Endschalter werden durch Motor ausgelöst
Die Schaltung läuft mit einem ATTiny13A, einem kleinen DC Motor, einem L293D Motortreiber, einem Taster und zwei Endschaltern. Wird der Taster betätigt, fährt der Motor los, bis der erste Endschalter erreicht ist. Dann fährt er in die andere Richtung zurück, bis der andere Endschalter erreicht ist.
machen. So einen externen Schalter würde ich niemals einfach so direkt abfragen, sondern immer entprellen/filtern.
-
Thread
I/O-Operationen via Timer-Interrupt - gut oder überflüssig?
gecheckt ("Liegt etwas an?") und nur wenn JA, wurde qualitativ ausgewertet: der Code der gerückten Taste in ein Puffer eingelesen. (Amstrad 8 Bit Z80 System mit 4 MHz).
So weit wollte ich gar nicht in die Tiefe gehen. Es geht um einen kleinen µC, mit ein paar Tastern und ADC-Eingängen. Der Timer Interrupt sollte dabei u.a. das Entprellen vornehmen und noch ein paar Notwendigkeiten, die keine nenneswerte Rechenleistung verlangen. Mehr nicht. Ein kleiner µC
-
Thread
STM32F4 Schaltkreis passt?
fehlt ein Pull Up - Bei Userbutton den Kondensator weglassen, der schweißt bei jedem Drücken den Taster ein bischen. Entprellen per Software ist besser. - Prüf mal ob die Led besser Low-Active angeschalten wäre. Viele Ausgänge können besser gegen Masse ziehen. - Deine Usart/SPI/I2C Header haben weder
keiner. > - Bei Userbutton den Kondensator weglassen, der schweißt bei jedem > Drücken den Taster ein bischen. Entprellen per Software ist besser. Guter Punkt! Beim reset baut ST in Nucleo boards selber einen ein, vielleicht weil sie ziemlich robuste push buttons verbauen. > - Deine Usart
-
Thread
delay Funktion mit IRS ersetzen
das Genick brechen. Die kann niemals was sinnvolles tun. Vermutlich willst Du eine oder mehrere Taste(n) entprellen und das macht man komplett im Timerinterrupt. Die Mainloop fragt dann nur nur die Flags ab, die die ISR setzt.
klarkomme, sind solche Dinge: [pre] void loop() { PORTD = counter = flankenerkennung = entprellen = taster; } [/pre] Das ist der Grund, mir mal die Quellen der Libs zu ziehen und mir das mal anzusehen. Achso: weitermachen! Gruß, 73 Äxl, DG1RTO
-
Thread
Lauflicht auf Button Click VHDL
Robin K. schrieb im Beitrag #5547340: > Aufgabenstellung: Teile die Aufgabe auf in: - Taster einlesen, einsynchronisieren und entprellen - Takterzeugung zum Weiterschalten - Generierung des Bitmusters für die LED Der erste Teil wird etwa so gemacht: http://www.lothar-miller.de/s9y/categories
-
Thread
Automatenzustände schalten willkürlich um, ich bitte um Unterstützung
logischerweise genauso ist. Meine Idee nun: "btnci", "split" und "csz" (allesamt Signale, die über Taster eingebunden werden) zu entprellen und anschließend nur einen kurzen Impuls an die Bausteine der Halteglieder zu übergeben. Ich habe schon mehrere Versuche unternommen, dies zu realisieren, jedoch ohne
des Taktes sind D-FFs aus den Latches geworden. Allerdings bleibt das Problem, dass ich eben die Tasten entprellen und das Signal so an die Halteglieder weiterleiten muss, dass bei einem Tastendruck lediglich EIN Zustandswechsel erfolgt. Diese Toggelei nervt ganz schön...
-
Thread
Attiny84 verhalten unerklärlich
> Entkopplungs-Kondensator (100n) am RESET Pin oder den MOSI, MISO lines > oder einem offenen Taster an selbigen. Das ist ne ganz blöde Idee, Entprellen macht man in Software. Nur der Kondensator an Reset ist erlaubt, solange man nicht debuggen will.
steigenden Flanke getriggert. Jeder Tastendruck erzeugt also selbst bei einem idealen, prellfreien Taster zwei Aufrufe der ISR. 2. gibt es ja ohne zusätzliche Hardware keine idealen Taster. Da kann es schon mal sein, das du beim Drücken 4 oder 7 Flanken auslöst, die vom AVR alle brav ausgewertet werden
-
Thread
Flankenauswertung bei vielen Tasten
Hallo! Mir ist bekannt, wie ich in C die Flanke für einen Taster auswerten kann und wie ich diesen Entprellen kann. Allerdings bezogen sich diese Ausführungen immer nur auf eine oder zwei Tasten, sodass der Aufwand sich in Grenzen hielt. Nun aber möchte ich 12 Tasten
an den selben > Port anschließen und den ganzen Port entprellen. Richtig. [c] int tasten,gedrueckt; while(1)// die Programm-Hauptschleife { tasten=INPUT_PORT; // 12 Taster auf ein mal, liefern 1 wenn gedrückt (sonst ~PIND) gedrueckt=tasten
-
Thread
AVR8ASM TWI Interrupt
mir PD4 ) grüne OK-LED angeht und die ( bei mir PB4 ) rote PLA-LED munter weiterblinkt, wenn der Taster an PD5 betätigt wird. Die PLA-LED blinkt natürlich nach Betätigung des Taster weiter, ist ja eine ProgrammLaufAnzeige ;-). Ich denke euer Problem ist der 1,8432Mhz Quarz, aber mit dem kann ich fast
PB4 blinkt die PLA-LED ( ProgrammLaufAnzeige ) mit ca. 1Hz. Es darf nicht vergessen werden, den Taster an PD7 zu betätigen, damit das Ganze läuft. Etwas länger drücken, das Entprellen ist noch nicht optimiert. Um den verringerten Aussteuerbereich des X-Achsenbeschleunigungssensors auf das maximal
-
Thread
Schalter für abwechselnd zwei Verbraucher über Kurzhubtaster
Nanoamperebereich. Damit man bis 3 zählen kann, braucht man 2 JK FlipFlops und einem Schmitt-Trigger um den Taster zu entprellen. Es nützt in dieser Schaltung nichts wenn die FlipFlops schon einem Schmitt-Trigger Eingang haben, wie HEF4027, weil sie nie gleichzeitig umschalten würden. Man sollte einen Taster nehmen
-
Thread
ATTiny 45 - Sleep Mode und toggle!
schrieb im Beitrag #5468691: > nun habe ich das Problem > wenn ich die LED einschalte und den taster gedrückt halte, die LED > anfängt zu blinken du guckst in deiner main, ob ein taster gedrückt wurde, wechselst den zustand der led und wartest, um dann wieder zu gucken, ob der taster gedrückt
stehe ich mit den Beispielen etwas auf dem Schlauch. Hat da jemand nen link in dem man das mit dem Entprellen für dummis nachvollziehen kann oder wäre es möglich das mir einer freundlichweise den Code abändern köönbt :) Markus
-
Thread
Pollin Board mit Attiny13A
außerdem wird der Taster länger halten (Stichwort "Wetting Current").
Leiterzüge. Und dann die Hochohmigkeit meines Schalteinganges, welche aber nur beim Testaufbau mit dem Taster zu tragen kommt. Werde einen Pullup auf eine freie Nachbarfassung stecken und noch mal testen. Und die Taster auf dem Board so verschalten, daß sie gegen Masse schließen. Und Hardware- entprellen.
-
Thread
4x4 Matrix Tastatur am FPGA
eines Controllers zu aufwändig wäre, klappt dann mit dem Timing gfs nicht. Es geht auch um das Entprellen: Wenn man eine Taste entprellen möchte, muss man mehrfach abtasten, also nehme Ich 2ms lang das Signal auf und verwende eben einige MHz. Umgewandelt als Daten sind das 64Bit Register. Die könnte
unter der Annahme, dass du jeden Taster /unabhängig/ von den anderen ansteuern /und/ abfragen willst... Organist schrieb im Beitrag #5464045: > Es geht auch um das Entprellen Das ist ein überaus nachrangiges Thema. Bei meinem bereits
-
Thread
144 analoge Eingänge am Arduino
> 16 Zeilen nacheinander abgefragt und mit Spalte low und Zeile low weiss > man welche der 256 Tasten gedrückt wurde, das natürlich entprellt OK, hier kann ich noch folgen. Kann ich "Wechsler entprellen mit Kondensator" (aus o.g. url-Beschreibung) 1x pro Zeile und 1x Spalte anwenden? Oder es der
Für 144 Tasten gingen auch 4 Stück HT16K33. Jeder fragt 39 Tasten ab und steuert bei Bedarf auch noch 128 Leds an. Nicht ganz preiswert, aber I2C.
-
Thread
Signal für Drehsignalgeber erzeugen
#5454881: > Kennt jemand schönere Ansätze? Wie wäre es mit einem Ansatz, der wenigstens die 2 Taster auswertet (den mittleren Drucktaster kann man ja direkt weiterleiten) ? Mit entprellen und damit das Incrementsignal updated ? Oder fehlt es dir völlig an Programmiererfahrung ? [pre] char pos,
Bei Drehgebereingängen! > Aber die Eingäng deines Emulators, hier der Arduino, sind normale > Tasten! Ja, logisch, Notiz an mich selber, Gehirn einschalten. Also entprellen, Länge des Drucks auswerten. n = 800; //ms If (Tasterpulse > n) then sendpulses;) else sendsinglepulse
-
Thread
Code unleserlich schreiben um Zeilen zu sparen.
zu machen. was genau spart man, wenn man Zeilen spart? Hast Du eine überempfindliche Return-Taste?
auto index){result = index;}); } [/c] Wie Du siehst, habe ich einmal genau Deinen Code mit der Taste als Bit-Muster und einmal eine günstigere Variante mit der Taste als Nummer erstellt. Hier die Zahlen jeweils bezogen auf AVR m328: Meine Variante : 192 flash, 2 data Deine Variante i : 210
-
Thread
Optokoppler schaltet durch ESD?
Signal-Eingang, weil der von der Gegenseite aus rein elektronisch gesteuert wird und nicht durch Taster ohne ähnliches. Spricht denn zumindest erstmal prinzipiell was gegen das momentane Design meines Eingangs? Grüße
anderen OKs kannst du noch längere Flanken benutzen.) Du könntest auch den µC-Eingang in Software entprellen (z.B. Mindestlänge 1 ms).
-
Thread
Hilfe beim Arduino Programm schreiben
soll die LED auch angehen vom Taster 1. Mit den zweiten Taster will ich das zweite Relais einschalten und da soll die LED von zweiten Taster angehen. Mit den dritten Taster will ich das zweite Relais wieder ausschalten und dann
wie ich das schreiben soll. Klar! Du möchtest eine Ablaufsteuerung bauen... So richtig, mit entprellen der Taster und dem ein, oder anderen, endlichen Automaten.
-
Thread
Eingangsbeschaltung bei Drehzahlmessung Verbrenner
habe ich einen Tiefpass in Software als Entprellung, das baue ich dann aber auf ein "richtiges" Entprellen um. Denkst du wirklich, dass ein drehzahlabhängiges Entprellen notwendig ist? Das macht es gleich wieder aufwendiger... Die Abtastrate habe ich auf 100µs festgelegt. Bei 3000u/min liegt die Zeit
Taktfolge bei maximaler Drehzahl wäre :-). Also ist auch eine Entprellung wie bei einem normalen Taster möglich.
-
Thread
Eingangsspannung wenn keine Versorgung anwesend
herunterzählen, mit der Du feststellen kannst, wann die Zeit abgelaufen ist. Dabei dann noch den Taster abzufragen (und gegebenenfalls zu entprellen) ist nichts, was großartig Zeit verbraucht, und vor allem, es ist nichts, was das definierte Zeitraster des Timerinterrupts irgendwie beeinflussen würde
dann in der Statemaschine bis >1 Jahr Aktionen ausführen. Die Mainloop kann somit alle 10ms die Taste abfragen, entprellen, Flanke erkennen und eine andere Statemaschine neu starten. Die 10ms warten macht man mit Timer oder mit Delay.
-
Thread
switch(Funktion()) möglich?
; else LED_ALLE_OFF; switch(Entprell_PB1()) // Selbshaltung, 1-Impuls=ON, 2-Impuls=gelöscht=OFF { case 1: PB1_high=1; break; // Taster/Schalter=ON case 2: PB1_high=0; break; // Taster/Schalter=OFF } if(PB1_high
letztens folgenden Ausdruck verfasst: [c] void loop() { led = blinkomat = flankenerkennung = entprellen = taster; } [/c] Gab auch witzige Kommentare....
-
Thread
suche ein bistabiles Relais mit 2 wechslern
Umpolen verwenden, aber damit bleibt das FF-Problem bestehen, leider ###### werde den Ansatz Entprellen mal als nächstest verfolgen
jedes Mal wechseln. Wenn er das öfter tut und auch bei der negativen Taktflanke, dann prellt dein Taster. RC-Glied als Minimum wurde schon genannt. 3D Drucker schrieb im Beitrag #5415050: > objekt fährt durch laserlichtschränke (LLS) > LLS löst aus (high) > motor dreht rechts rum > objekt ist durchgefahren
-
Thread
Reed-Relais 10kV
überhaupt für 10 kV geeignet ist: jeder mechanische Kontakt prellt, und dagegen kann man nichts tun. Bei Tasten z.B. kann man per Hard- oder Software entprellen, aber eben nicht das Prellen an sich verhindern. Das ginge nur, indem man mit Halbleitern schaltet, aber das ist bei 10 kV auch sehr aufwendig. Georg
Einschaltvorgang Störungen im Signalverlauf (siehe Bild). Wenn deine Relaisansteuerung mittels Taster oder ähnlich prellendem Kontakt erfolgt, muss man sich nicht wundern. Erstmal muss die Relaisansteuerung sauber und prellfrei sein, was eigentlich jeder NE555 oder Arduino kann. Auch HV-Reedrelais
-
Thread
port IRMP to Arduino
Funktion zu verzichten, hinter der IRQ im 64µs Raster 15000 Interrupts sogar noch bis 10ms zählen um Taster zu entprellen und DCF77 zu pollen.
zu verzichten, hinter der IRQ im 64µs > Raster 15000 Interrupts sogar noch bis 10ms zählen um Taster zu > entprellen und DCF77 zu pollen. Prima, dann kannst Du auch bestimmt dem TO helfen und ihm sagen, warum das bei ihm unter Arduino nicht läuft und was er machen muss, damit das nicht nur auf
-
Thread
Kleine Chinataster allesamt Scheisse?
, wie möglich erfasst (z.B. mit der Input-Capture Funktion) - und dann wartet der µC, bis die Taste über einige ms-Interrupts wieder inaktiven Pegel hat. Ansonsten ist ein Taster mit ETWAS Qualität + gute Entprell-Routine natürlich die einfachere Lösung.
Thema "Taster und Entprellen" wird viel gemutmaßt und wild behauptet. Sollen die Fliegen doch weiter auf dem dogmatischen Haufen sitzen und ihre Götter anbeten.
-
Thread
Flankenauswertung ohne Interrupt
while(1)// die Programm-Hauptschleife { tasten=PIND; // 8 Taster auf ein mal, liefern 1 wenn gedrückt (sonst ~PIND) gedrueckt=tasten&~gedrueckt; if(gedrueckt&1) { // Taster 1 wurde gerade runtergedrückt, mach was } if(
leider nicht so einfach verständliche Routine von Peter Dannegger anzuschauen. Da kannst du mehrere Tasten abfragen, entprellen und sogar unterscheiden, ob du bei langem Drücken ein Auto-Repeat haben willst. Die verwendet zwar den Interrupt, aber daran kommst du letztlich bei der µC-Programmierung eh
-
Thread
konventionell Taster über 24V einlesen
Wie würde man denn die Beschaltung für den Taster an vernünftigesten (Kosten, Platz, ..) mit der heutigen Technik lösen. Naturlich wäre der Freibrennstrom zu beachten. Ich gehe hier sicherheitshalber mal von etwa 20 mA aus. Ich denke mein aktueller
ich aktuell nur mit 5VDC - nicht schön, aber funktioniert ohne Probleme. Die Boards unter den Taster lesen nicht nur die Taster ein, sondern liefern auch noch Temparatur und Luftfeuchtigkeit über den Bus. Ebenfalls mit an Board ein Buzzer. Zusätzlich möchte ich im weiteren Schritt noch die Reedkontakte
-
Thread
Tastenentprellung läuft nicht
Folgendes klappt schon mal fehlerfrei; int main(void) { ... // div.Deklarationen if ((ENTPRELL (PINB, PB2)) == 1) Sprung = 1; // Taste_gn, Flanke ansteigend if ((ENTPRELL (PINB, PB2)) == 2) Sprung = 2; // Taste_gn, Flanke abfallend if ((ENTPRELL (PINB, PB1)) == 1) Sprung = 3; // Taste_rt,
__Son´s B. schrieb im Beitrag #5402313: > if ((ENTPRELL (PINB, PB2)) == 1) Sprung = 1; // Taste_gn, Flanke > ansteigend > if ((ENTPRELL (PINB, PB2)) == 2) Sprung = 2; // Taste_gn, Flanke > abfallend Du hast das Makro immer noch nicht verstanden,
-
Thread
Richtig entkoppeln?
Widerstände an deinem Mikrocontroller, 10K sind OK. KEIN Kondensator! Wenn man mal WIRKLICH einen Taster bzw. Schaltkontakt in Hardware entprellen muss, dann so! Da liegt dann mindestens ein Widerstand in Reihe zum Kondensator. https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster
funktionieren. Da wird im Zweifelsfall oft mindestens 1mA empfohlen. Wobei dieser auch gerne aus dem Entprell-Kondensator kommen darf.
-
Thread
Taster mit zu wenig Wetting Current
10nf-100nF können problemlos an die Versorgungsspannungen - Masse verschaltet werden. Ein Entprellen von Tastern macht man per Software, siehe Pedas Entprellroutine, die schon gefühlt 12000 mal besprochen wurde.
Karl M. schrieb im Beitrag #5398514: > Ein Entprellen von Tastern macht man per Software Das kann man machen, muss man aber nicht. Wenn ich Platz habe, dann bevorzuge ich Schmitt-Trigger mit einem kleinen Tiefpass im Eingang. Das gibt sauberes
-
Thread
Verzweifelt wegen Drehencoder und Interrupt :/
bestimmt > irgendwelche Systemzeit, das reicht.... ...eben nicht. Im Gegensatz zu gewöhnlichen Tasten, die man bequem softwaremäßig entprellen kann, weil sie langsam sind und man nur eine Flanke (das Gedrücktwerden) auswerten muß, hat man es bei einem Drehgeber mit etwas ganz anderem zu tun, denn:
wie von 1-10) dann lese die Tasten und gebe es an die Tastenentprellung setze den Merker für Tasten wieder zurück auf 1 (oder 9 weil von 0-9 sind genauso 10 wie von 1-10) ISR Ende
-
Thread
Funksteuerung für Markise
würde ich nicht machen. Handfernbedienungen sind immer irgendwo anders oder die Batterie ist leer. Taster an der Wand. Da weiss man wo der Schalter ist. 2* DI > - Zeitschaltuhr nimm nicht einfach nur die Uhrzeit sondern eine Astrouhr für deinen Standort. Im Winter wird es ja früher dunkel. >
> an die Steuerung gesendet werden? Das löst man in Software - Eins nach dem anderem. Die 2 Taster kannst du ja soweit entprellen, das da nix mehr gleichzeitig ist. > 2) Welche für das Projekt geeigneten Windmesser gibt es? suche "Anemometer Arduino" > 3) Welche für das Projekt geeigneten
-
Thread
Doppel Lichtschalter mit Tastern und Timer-Funktion
CD4538 Präzisions Monoflop. Der Baustein enthält zwei Monos, so das einer dazu dienen könnte, die Taster zu entprellen und der zweite dann die Brenndauer bestimmt. Es geht auch mit dem 555, aber man sollte dann die CMOS Variante 7555 benutzen, damit längere Einschaltzeiten genauer sind und nicht so
ich aber nix zu basteln. Hier benötigst Du ein Relais mit zwei Umschaltkontakten. Es können zum Taster T1 noch beliebig viele weitere Taster parallel geschaltet werden mit denen man das Licht sowohl ein- als auch austasten kann.
-
Thread
Stoppuhr TASTER
Aufsatz zum Thema "Endliche Automaten" oder "Zustandsautomaten" (ist das Selbe) und einen zum Thema "Entprellen" zu lesen. Das sollte deine Fragen klären. Falls du diese Artikel nicht verstehst, nimm separate Taster für Start und Stop - das ist viel einfacher umzusetzen. Wir werden Dir hier kein fertiges
Programm anhalten? Auf jeden Fall nicht, indem Du hartnäckig die Millionen Codebeispiele zum Tasten einlesen und entprellen im Web ignorierst.
-
Thread
CD4017 zum laufen bringen
So einfach lässt sich da kein Taster anschließen. Warum steht im folgendem Artikel. Damit kannst du dann, problemlos den 555er, gegen einen Taster tauschen. https://www.mikrocontroller.net/articles/Entprellung
Nochmal: Du musst den Taster ENTPRELLEN. Mit einem einfachen Widerstand geht das nicht.
-
Thread
Verbesserungsvorschläge und Stromverbrauch eines AVR Weckers
Timer so 100x pro Sekunde, man multiplext so ein Display locker mit 100Hz, damit fragt man auch die Tasten ab und alle 50x schaltet man den Doppelpunkt um. Dann läuft das auch mit Batterie. Den DS1820 noch schlafen legen oder per PortPin abklemmen.
jedem vierten Interrupt wird die Zeit um eine Sekunde erhöht und die > Anzeige aktualisiert. Die Tasten reagieren dann zu langsam. Hier wäre eine andere Lösung besser. Z.B. dass AVR durch Tastendruck aus dem Schlafen erweckt wird. Dann mit 10 ms entprellen, auf Tastendruck etwas machen und wieder schlafen
-
Thread
Funktion aufrufen, Wert nicht in anderen Funktionsaufruf verwenden
Besonders speichersparend ist das vertical Counter Prinzip, d.h. jede Taste entspricht einem Bit in der Variable (uint8_t für bis zu 8 Tasten, uint16_t bis 16 Tasten usw.). Die geringsten Seiteneffekte hat man, wenn man das Entprellen und Flanke erkennen in den Timerinterrupt
Beitrag #5356904: > Besonders speichersparend ist das vertical Counter Prinzip, d.h. > jede > Taste entspricht einem Bit in der Variable (uint8_t für bis zu 8 Tasten, > uint16_t bis 16 Tasten usw.). > Die geringsten Seiteneffekte hat man, wenn man das Entprellen und Flanke > erkennen in den Timerinterrupt
-
Thread
Fehler zum nachbauen :-)
alles nach gemessen was möglich war. Letztlich stellte sich heraus, das ein Kondensator, der als "Entpreller" einem der Bedientaster parallel geschaltet war, einen Kurzschluss aufwies und so wie ein immer gedrückter Taster wirkte. Ich hatte ganz zu Anfang meiner Reparaturunternehmung auch mal kurz überlegt
jedem Tasten war ein Auf- bww. abdimmen zu beobachten.
-
Thread
Druckschalter mit geringer Auslösekraft gesucht
Schalter an ein Volumenpedal basteln, siehe beigefügtes Bild. Da sieht man ein Pedal mit zwei Tastern, die mit dem Fuß, der auf dem Pedal ruht, durch leichtes seitliche Bewegungen betätigt werden, z.B. zur Steuerung weiterer Funktionen einer Orgel. Mikroschalter, die aber alle Taster sind, gibt
kleinen Lichtschranken oder induktiven Näherungsschaltern funktionieren. Den Rest der Steuerlogik (Entprellen, Ein-/Aus-Steuerung) kann ein kleiner Mikrocontroller übernehmen der dann z.B. ein Relais steuert.
-
Thread
Wer hat schonmal ein Projekt mit >3000 Vias bzw. >1000 Bauteile gemacht?
Modifikationen (typische Modwire oder Bodgewire) beheben. Manche kann man auch mit SW beheben (z.B. Taster im nachhinein entprellen). Allgemein kann man das alles nach besten Standards (Schreiber hat ein paar gelistet) machen, aber das ist hald ein Entwicklungszylus den men iterieren muss. Jemand der
-
Thread
[C] While Schleife mit drücken eines Buttons abbrechen
(1ms, 10ms) den Taster abfragen. Zählen zum Entprellen. Flag setzen beim "Drücken" und "Loslassen erkannt". Und dann noch ein Flag für beide Flanken. Ein gutes Programm hat kein WHILE (bzw. nur ein einziges zentrales)
so hin wie ich dann ist das Programm schneller als man den Taster wieder loslassen kann und das Programm "spinnt". Hier hab ich dann mit dem delay Befehl gearbeitet um den Taster zu entprellen. Also einfach in der interrupt Funktion ein kurzes Delay von 300ms einbauen