-
Thread
LED - Kickersteuerung
Taster muss man entprellen (bzw. zumindest die Flankenwechsel erkennen). Dafür bietet BASCOM eine Funktion. Das Programm ist erkennbar noch nicht vollständig, und lässt sich wesentlich kürzer schreiben
, erstmal einen Ablaufplan zu erstellen, etwa so: Initialisieren Anfang Loop LEDs bedienen Taster checken Wenn Taste gedrückt, Variable+1 Wenn Variable=10 dann Musik und alles auf Null Alles nochmal ab Anfang
-
Thread
Interrupts
Interrupt auf negative Flanke und Routine zum Entprellen nicht vergessen.
aufschlussreiches gefunden. Vielleicht kannst du mir ein wenig weiterhelfen. Gibt es vielleicht schon entprellte Taster? Danke für deine Antwort! Steffen
-
Thread
Troubleshoot einfache Entprell-Routine
Hallo, bin noch relativ neu im Bereich uC Programmieren und C-Programmieren. Ich habe nun mit AVR Studio und einem Atmega 328P versucht folgende einfache Funktion zu realisieren: Wird der Taster kurz gedrückt, wird die LED eingeschaltet, wird der Taster lang gedrückt geht diese wieder aus. Leider tut sich schlicht und ergreifend, gar nichts. Vielleicht kann mir hier jemand meine Programm/Programmierfehler aufzeigen und Tipps für das Weitermachen geben. Vielen Dank im Vorraus. mfg Thomas [c] #include <asf.h> #include <avr/io.h> #include <stdbool.h> #define F_CPU 16000000
-
Thread
myavr Eingänge
Hallo liebes Forum, ich habe große Probleme mit den einfachsten Dingen. Ich möchte mit einem Taster eine LED tasten. Wird der Taster das erste mal gedrückt, schaltet die LED ein, wird der Taster das zweite mal gedrückt, schaltet die LED wieder aus. Das schaffe ich ja noch, allerdings brauche
mehr als ein Register pro Led? Du musst doch nur den aktuellen Zustand der LED speichern. Wenn der Taster gedrückt wird, dann musst du den Zustand nur per XOR umkehren und an den Port ausgeben. Wenn du die Taster nicht per Software entprellen musst, dann reicht sogar ein bit pro Led. Ein Register ist 8
-
Thread
Atmel Evalutionsboard- Probleme beim Schalten der LED
Karl Heinz Buchegger schrieb im Beitrag #2317004: > Der Taster T1 soll als Schalter fungieren, also beim ersten drücken geht >> die LED1 an und bleibt solange an bis erneut der Taster T1 gedrückt >> wird. Und da kommt dann sicher noch die Problematik "Entprellen
"Entprellen" hinzu. > > citb Langt es nicht wenn der Taster Hardware-technisch Entprellt ist, und die Internen Pull-Ups aktiviert worden sind?
-
Thread
AVR ATtiny 44A-PU: Ext. Interrupt löst aus sobald Lampe an Relais angeschlossen wird
den Taster nebst Leitung gegen Störeinstrahlungen schützen.
Zuständen und deaktiviere ihn dann wieder. Der Controller läuft mit 1 MHz. Guter Hinweis, die Entprell-Methode hatte ich mir sogar schon einmal angesehen, mich dann aber gefreut meinen Taster garnicht entprellen zu müssen, da ich den Interrupt einfach nach dem ersten mal abschalte. War wohl zu früh
-
Thread
AVR-GCC Power-Down Tutorial
Aufwachtaste auch dem am Pin anliegenden Signal entspricht, also die Entprellung abgeschlossen ist. Da der Taster aber low-aktiv ist, das entprellte Bit aber high-aktiv, wird auf Ungleichheit getestet (Exklusiv-ODER). Bevor das Entprellen nicht beendet ist, darf der Power-Down nicht ausgeführt werden, da ja die
würde. Man sieht auch schön, wie die CPU kurz aufwacht, um das Loslassen nach dem Power-Down zu entprellen. In der Praxis würde man dann die LED natürlich nicht einschalten. Ist das Entprellen beendet, wird die Taste ausgewertet. Sie schaltet nun zwischen Wachen und Schlafen hin und her. Dafür wird
-
Thread
Atmega128 Tasten Ansteuern
wünsche ich allen frohe Ostern. Ich hab mir ein Graphik Display zugelegt und möchte über zwei tasten bilder auf dem display anzeigen. Die pics kann ich schon ausgeben am display nur weis ich nicht wie der code für die tasten ausschauen soll. Ich möchte das einfach nur so haben das wenn ich auf taste
Danke Danke Danke Roland hast mir sehr geholfen damit ich dein einstieg in tasten entprellen verstehe. Frohe Ostern
-
Thread
Strom für CMOS-Pegel...
3k3. Das sollte hinkommen. Wenn ich einen größeren Tiefpass nehme, müsste das doch auch schon die Taste einigermaßen entprellen oder ?
aha, du willst also eine Taste entprellen. Manchmal wäre es gut, die Anwendung dazuzuschreiben... Da würde sich eigentlich ein grosser Widerstandswert anbieten, aber dann steigt die Spannung am Eingang eben langsam an. Dabei durchläuft
-
Thread
Entprellung mit Dannegger-Code auf unterschiedlichen Ports
= ((PORTB |= _Taster1) | (PORTC |= _Taster2)); i = key_state ^ ~KEY_PIN_neu; [...] [/c] Könnt ihr das nachvollziehen?
das deine Tasten an "aufeinanderfolgenden" Bist hängen - mit jeweisl einer Taste an Bit 0 von PORTB und PORTC ginge das nicht so einfach. [c] KEY_PIN_neu = ((PORTB |= _Taster1) | (PORTC |= _Taster2)); i = key_state
-
Thread
LED Taster interrup at90can
; //Init LED DDRF |= (1<<PF0); //PF0 als Ausgang sei(); } // ISR Taster SIGNAL(SIG_INTERRUPT0) { // LED an PORTF |= (1<<PF0); // entprellen _delay_ms(1000); } Habe es mal so versucht. Das funktioniert aber noch nicht. Wo liegen meine Fehler?
ins Spiel? Alle Teilnehmer? Wer sind 'Alle'. Es gibt nur 2 Teilnehmer. Der eine, der sich um die Taste kümmert und der andere der sich um die LED kümmert. Wenn der eine etwas vom anderen will, dann schaltet er die Leitung um und fertig. 'den taster dann mit einem uC zu steuern'. Ein Taster wird nicht
-
Thread
Erstes Routing bewerten die 4246.
nicht in IC's vorgesehen - Vorwiderstände für LED1 / LED9 usw. => 1kOhm sollte reichen - S3 Taster => keine Entprell-Vorrichtung nötig ? Viel Spass !
extra recht groß Dimensioniert. Die LEDs sitzen in Schaltern hinter buntem Plastikglas. > - S3 Taster => keine Entprell-Vorrichtung nötig ? > S3 wird nur in bestimmten Situationen im Menü gebraucht, bei denen es dann auf Zeit wirklich nicht ankommt. Wollte ich dann in Software entprellen. >
-
Thread
ATMega644 mit 7-Segmentanzeigen
Du hast wohl noch nie was von der Notwendigkeit gehört, Taster zu entprellen. Auch ist ein Programm, welches nach dem zweiten prellen in einem while(1); für immer stoppt (RIP), etwas unbrauchbar.
Stoppen. Entprellen wird ein wenig überschätzt. Brauchte ich bisher nicht und ist hier auch nicht notwenig. Ob Variante 1 oder Variante 2 oder erstmal keine Taste, es wird immer 000 angezeigt.
-
Thread
Wozu übertrieben schnelle Microcontroller?
{ taster.initPullup(); // taster.init(); // ohne Pullup relais.init(); } void loop(void) { relais = toff = count = flanke = entprell = taster; } [/c] https://www.arduinoforum.de/attachment.php
die > dich ja zufriedener.... > void loop(void) > { > // relais = toff = count = flanke = entprell = taster; > relais.set(toff.doTrigger(count.doTrigger(flanke.doTrigger(entprell.doTrigger(taster.isHigh()))))); > } > Möglich ja, aber für schöner oder übersichtlicher, halte ich das nicht.
-
Thread
Zähler zählt falsch
"normale" Zeitangabe benötigt wird, kann man die umrechnen, die paar µs stören nicht. Dein Entprellen ist Murks. Sowas gehört in einen Timer. Das Zählen der Pulse ebenfalls, hat erstens den Vorteil, dass man auch dort Entprellen kann und b, dass man nicht wie der INT0 auf ultrakurze Störungen
>Wie wird das Zählen mit Timerüberläufen konkret realisiert? Ganz einfach so wie man auch Tasten ausliest und entprellt. Port einlesen, verarbeiten (entprellen), zählen. Bei den sehr niedrigen Pulsraten kein Problem, ein 1-10ms Timer ist alles was man braucht. MfG Falk
-
Thread
» Geht das und wie??? Takterzeugung, 2Taster einlesen usw..
HanneS... vielen dank für die "starthilfe" denke damit kann ich was anfangen. Das mit dem entprellen von den 2 Tastern klingt auch logisch.... ich hätte mir da jetzt "ein Wolf entprellt"... gut das man darüber geredet hat :) @Rufus mit dem DCF77 habe ich auch schon mal geliebäugelt, aber
) Taster könnte diesen Wert ins EEPROM speichern, damit er beim nächsten Reset wieder eingelesen und benutzt werden kann. Suche mal im Wiki nach "entprellung". Am besten du entprellst einen ganzen Port und
-
Thread
Tasten und aufrufe
rjmp loop3 ... Text3 rjmp schleife das problem ist halt nur ich halt nur diese reihenfolge der tasten drücken kann, also erts taste 1 dann die zweite taste und dann die dritte taste. Aber wenn ich erst die erste taste drücke und dann die dritte taste drücke dann passiert natürlich nichts, weil das
Ja genau, mit "sbis" macht der das wie du sagst (Jochen). @peter: mit dem entprellen kann man ja ersteinmal vernachlässigen. Das mit der Rechenzeit versteh ich - ist ja klar, er "wartet" in der Schleife so lange bis man nach ner stunde mal die Taste drückt. Und wie soll ich das anstellen
-
Thread
Entprellung funktioniert nicht
> uint8_t key_pressed_2(const volatile uint8_t *input) > if (key_pressed_2(Taster_2)) > #define Taster_2 (PIND&(1<<PD3)) Ist Taster_2 ein const volatile uint8_t * ? Ich denke nicht! PS: Mich würde stark wundern, wenn der Compiler da nicht meckert.
Das sind Entprell-Funktionen für Taster, wie gesagt die erste funktioniert aber die zweite nicht. Ich wollte es mit dem #define etwas vereinfachen.
-
Thread
Mehrere Interups an einem int
) zusätzlich hoch, so dass bei dem Taster mit Widerstand dann nicht mehr 1V sondern 4V rauskommt. Beim Taster ohne Widerstand ändert der jedoch nix.
gesagt,ich habe noch einen Pin frei und würde das >schon gerne über Interupt laufen lassen. Tasten über Interrupts laufen lassen, um sie dann mit einem Timer zu entprellen, halte ich für unnötig umständlich, wenn man die Sache stattdessen genausogut ganz über den Timer abwickeln kann. >Keiner
-
Thread
Prellfreier Taster 74HCT14
Hallo ich möchte einen Taster entprellen und versuche dies derzeit mit dieser http://www.mikrocontroller.net/articles/Entprellung RC-Entprell-Schaltung. Das Problem ist das es nicht funktioniert ich habe R1 mit 2,2K R2 mit
Wenn der Taster quer über das Gate geschaltet wird, ist es interessanter!
-
Thread
PIC Interrupt auslösen
Taster direkt als Interruptquelle zu nutzen ist nicht sinnvoll, da man sie vorher per Hardware entprellen müsste. Frage die Taster in einem Timerinterrupt oder einem schon vorhandenen, regelmäßigen Interrupt
Servus alle, also das mit den Tasten entprellen mach ich so: interupptfähigen Eingang nehmen , in Interruptroutine nen Teimer starten und wieder weiter im Programm, Interrupt vom teimer abwarten und jetzt die gewünschte Funktion ausführen
-
Thread
unsigned int und char ins eeprom!
hast. Ich wollte nur deine Testprozedur wissen Strom ein -> Leds sind aus Taster 1 drücken -> Leds sind aus Taster 2 drücken -> Leds sind ein Strom aus Strom ein -> Leds sind aus Taster 2 drücken -> Leds sind ein das wäre das Testszenario
Hallo, du solltest dir noch Gedanken machen über prellende (und auch länger gedrückte) Tasten und die damit verbundenen mehrfachen Durchläufe der Tasten-Routinen. Sonst ist irgendwann das EEPROM "zerschrieben" ... Eine Entprell-Routine und eine Verhinderung vor Mehrfach-Ausführung sehe ich
-
Thread
Hilfe bei C-Code ( Beginner )
Interruptroutine, die 128mal pro Sekunde abgefragt wird, dann ist es kein Problem. Im Prinzip entprelle ich so: SIGNAL (SIG_OUTPUT_COMPARE2) // handler for Output Compare 2 { if (taste==alttaste) tastencount++; else tastencount=0; // also tastencount hochzählen, wenn der gleiche Tastenzustand wie // vorher alttaste=taste; if (tastencount>4) { // 4mal die selbe Taste, also Taste erkannt ergebnis=taste; alttaste=99; } } Im Hauptprogram kannst dann nach der Verarbeitung der Taste mit while (ergebnis
-
Thread
Frage zu einem Windsensor
heute noch nicht mehr sind, irgendwann sind sie es. D.h. du musst den Eingang des Kontaktes entprellen. Im Grunde kannst du daher deinen Eingang vom Windsensor wie einen Taster behandeln und auch mit genau denselben Methoden da drann gehen. [[Entprellung]] > Meine Frage nun dazu macht man das
zeiten von 10-25ms zum entprellen gelesen habe! Bzw wie bekomm ich das prellen in meinen code implementiert? Oder muss ich den windsensor an einen anderen "normalen" pin anschließen den dann entprellen und dann auf einem pin ausgeben
-
Thread
Latenz am Port Atmel ATMega 328PU
Könnte es sein, dass am Eingang ein Pull-Down fehlt und nur ein Taster den Pegel auf high zieht? Das Programm sieht korrekt aus.
Absolute Beginner": https://www.mikrocontroller.net/articles/Absolute_Beginner-AVR_Steckbrettprojekte#Taster_abfragen
-
Thread
HW PWM zum LED dimmen
Frage und hoffe auch eure Unterstützung. Ich möchte über eine HW PWM eine LED dimmen, solange mein Taster gedrückt ist. Kling eigentlich einfach aber ich komme nicht auf die Lösung :-(. Ich habe mir diesen Beitrag angesehen und wollte diesen als Basis nehmen: https://www.mikrocontroller.net/articles/
); bissi warten, sonst gehts rasend schnell } } [/c] PS: den ganzen Entprellen Quatsch kannst du dir sparen. Entprellen brauchst du nur, wenn dich ein Tastendruck interessiert. Wenn du aber, so wie hier, eine Aktion ablaufen lassen willst, SOLANGE ein Taster gedrückt ist, braucht
-
Thread
Menüsteuerung
deren Status (Bit in keystate/tas) beim Auswerten der anderen Tasten nebenbei zur Fallunterscheidung mit herangezogen wird. So kann eine Taste mehrere Funktionen bekommen, abhängig vom Zustand einer Shift-Taste. Durch eine kleine Erweiterung der Tastenentprellroutine
> man kann maximal nur 2 tasten > Interrput fähig machen, INT0 und INT1 oder? Das Einlesen der Tasten über diese Interrupts ist die schlechteste Art, Tasten einzulesen. Das gibt nur Ärger. Nimm stattdessen einen Timer-Interrupt
-
Thread
Quellendurchschaltung mit einem Taster
brauche ich noch eine Umschaltung zwischen den ganzen Audioeingängen. Insgesamt 5 Eingänge. Mit 5 Tastern und einer entsprechenden Anzahl an Logik-ICs ist das ansich erstmal kein Problem. Nur möchte ich das ganze mit nur einem Taster machen: Kanal 1 ist aktiv, man drückt auf den Taster und Kanal 1
vielleicht am einfachsten (Was die Anzahl der Bauteile anbelangt). Das Schieberegister wird vom Taster getaktet, hier sehr gut entprellen! An die ersten vier Ausgänge kommt ein NOR mit 4 Eingangen, der Ausgang von dem NOR kommt an den Daten-Eingang des Schieberegisters. So wird in das erste Flip-Flop
-
Thread
Störungssicher Taster über lange Leitung an 74 165 abfragen
lassen, um Low zu erkennen. Mehr als ca. 220 Ohm gegen GND sollten es incl. Kabel und gedrücktem Taster deshalb nicht werden. Schaltung 3 ergibt einen guten Verstärker für die Störungen... 1k gegen +, 100n am Eingang gegen GND und 150 Ohm vom Eingang zum Taster dürfte gut gehen, der 100n kann durchuas
fehlende Tastendrücke aber keine zuätzlichen. Das betrifft aber wirklich nur sehr alte abgenutzte Taster.
-
Thread
µC active-low Taster Signalprobleme wegen Kabellänge?!
meinen Augen ganz banal aber scheint es doch nicht zu sein. Ich habe auf auf meinen µC-Eingängen Taster und Hallsensoren liegen (alles active-low). Wenn ich die Taster direkt, mit kurzer Leitung, an die Elektronik anschließe, funktioniert alles perfekt. Die internen Pullups aktiviert, der Taster schaltet
Problem war nur die besagte Schaltung... Ohne die ISR und korrigierter Schaltung lese ich den Taster jetzt über die Routine aus "Entprellen für Anfänger" im Pollingbetrieb ein und setze dort eben das Flag...
-
Thread
"Universelle Tastenabfrage" auf Attiny2313
Hallo Leute, könnt ihr mir helfen, den Code zum Entprellen von 8 Tasten auf einem Attiny2313 zum Laufen zu bekommen? (Und wenn möglich auch Attiny13) http://www.mikrocontroller.net/topic/48465?goto=3516462 Ich bin gerade noch am C und AVR Programmieren
andere Projekte zu übernehmen usw. Danke Peter! Ich hab was ich brauche. Jetzt funktionieren die Taster, ich kann weiter experimentieren, ohne dass mir langweilig wird und irgendwann auch den Entprell-Code verstehen. So läuft das in der PRAXIS.
-
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
Der Anfänger und die ungenaue Binäruhr (PIC)
Rainer Zufall schrieb im Beitrag #4018394: >>die Tasten dagegen fragt man nur in Ausnahmefällen per Interrupt ab. > Das wusste ich nicht. Warum wird das so gehandhabt? Weil mechanische Taster prellen und mit einem Druck mehrere Interrupts auslösen können
Apropos Steckbrett... >So ein Uhrenquartz ist recht empfindlich. Gut zu wissen. >Ich frage die Tasten grundsätzlich im Interrupt ab Also bei mir hat das auch keine Probleme gemacht. Entprellen mach ich einfach im Interrupt. War jetz für mich irgendwie die logischere Vorgehensweise. >Ist es nicht
-
Thread
Altera Quartus II Flip Flop Problem
Hi nochmal... Hab jetzt versucht die Taster intern zu entprellen, hat allerdings nicht geklappt...Habt ihr evtl. ne Idee wie man im CPLD intern nen Taster entprellt. Stephan
> Habt ihr evtl. ne Idee wie man im CPLD intern nen Taster entprellt. Zum Entprellen brauchst du üblicherweise einen globalen Mastertakt, auf den dein Design synchron ist. Und auf diesen Takt wird dein Taster einsynchronisiert. Sonst gibt es noch ein paar
-
Thread
NS Impuls im Haus löst Pi Pico aus wie einkreisen?
(passiv) an einem weiteren GPIO ein Relaismodul (s.Bild) das den Ozongenerator schaltet. Ein Taster an einem GPIO. Funktionsweise Programm: Im Main-loop bis Taster gedrückt wird. Dann im Warteloop bis der PIR meldet das keiner mehr im Raum ist. Dann wird der Lüfter und der Ozongenerator für
Problem wenigstens etwas eingrenzen, also ist es immer > derselbe Eltako (oder sogar derselbe Taster) bei dem die gelegentliche > Fehlauslösung passiert? > Im Flur sind 3 Taster die alle den selben Eltako triggern. >> von einer Schaltung mit einem Pi Pico. (Ozongenerator) > > Falls der
-
Thread
Schalter Enprellung, mal drüber gucken
sicher so um die 5 bis 6 Meter vom Gerät. Ich halte eine Torch fest, dabei drücke ich einen Taster, dann stömt Gas aus. Ich lasse den Taster los, Gasrelais schließt. Zweite Variante soll dann sein, ich drücke den Taster, lasse los, Gasrelais geht an. Ich drücke den Taster, lasse los, Gas relais
Tocotronix SH schrieb im Beitrag #3910863: > Ich halte eine Torch fest, dabei drücke ich einen Taster, dann stömt Gas > aus. Ich lasse den Taster los, Gasrelais schließt. Warum muss man da was entprellen?
-
Thread
Pollin Eval Board Tasterbeschaltung ändern
Taster an GND und der andere Anschluß über einen (ca.) 100k-Widerstand an Vcc. Der µC-Eingang wird über einen 150Ohm-Widerstand an die Verbindung 100k - Taster angeschlossen. Diese Schaltung verhindert den
Also bei mir funkts jetzt zu wirklich 100%. 1. Nur den C an den Tastern auslöten. Ansonsten hab ich nichts geändert. 2. Nach Jeder Tastenabfrage hab ich ein _delay_ms(200); zum entprellen. Ja, ich weis, das ist eine hässliche Lösung. Wird auch noch geändert. Tutorials
-
Thread
Ports in echtzeit ansprechen.
Wenn es sich um eine manuell betaetigte Taste handelt, sollte eine Auswertung alle 10ms genuegen. Da kann man die LEDs getrost beenden. Derselbe Timertick kann auch angewendet werden um die Taste zu entprellen rene
den 1-Zustand. Lies mal im Tutorial "Entprellen" Peter
-
Thread
Taster am AD Wandler plus WakeUp - wie?
Hallo, ich habe an einem Atmega8 4 Taster an einem AD-Wandler. Ich drücke immer nur einen Taster also nie mehrere gleichzeitig, Entprellen habe ich über eine einfache Warteschleife realisiert. Reicht aus und funktioniert. Wenn ich einen
wird auf Ausgang geschaltet. Damit kannst du dann wieder PA0..3 lesen, die diesmal den Zustand der Taster der zweiten Zeile wiederspiegeln. Das Verfahren setzt du jetzt analog fort, bis du alle Zeilen durch hast. Damit hast du jetzt den Zustand aller 16 Tasten gelesen. Nun kommt das beliebte Entprellen
-
Thread
Problem bei Programm mit Taster und LED
// Pullup ein while(1) { if (debounce(&TASTER1_PIND, TASTER1_PIN)) { // Taster 1 entprellen if (onoff_var == 0) { onoff_var = 1; } // setze LED Zustand auf 1 wenn 0 war if (onoff_var == 1) { onoff_var = 0; } // setze LED Zustand auf 0 wenn 1 war } if (debounce(&TASTER2_PIND, TASTER2_PIN)) { // Taster 2 entprellen LED2_PORT |= (1<<LED2_PIN); // LED 2 einschalten _delay_ms(1000); // 1 sek warten LED2_PORT &= ~(1<<LED2_PIN); // LED2 wieder ausschalten
-
Thread
80535 Projekt: Gemultiplexte 7-Segmentanzeig
80535 Microcontroller "bearbeiten": -gemultiplexte Anzeige -Umcodierung von BCD in 7Segment -Taster entprellen, genau ein Impuls unabhängig von Dauer des Drückens mit Interrupt und mit "Polling" Die Programierumgebung ist Keil uVision 2.0 in Assambler und C. Suche Tips und möglichkeiten,
wird. Nettes "Abfallprodukt": Man kann die Anzeige durch ändern des Tastverhältnisses dimmen. entprellen: Ein mechanischer Taster prellt im allgemeinen, d.h. beim Drücken schließt er nicht einfach nur, sonder schließt und öffnet mehrmals. Das liegt irgendwo im ms-Bereich, fragt man den Taster beispielsweise
-
Thread
"Einfache" Kommunikation zwischen 2 Atmegas
Probleme geben, richtig? Delay ist, sobald der Prozessor eigentlich mehr zu tun hat, als auf die Taste zu warten, immer ein Problem, weil er in der Zeit nichts anderes erledigen kann. Guck mal nach "Timer" und "Entprellen"
, welche Taste gedrückt wurde. Der ermittelte Tastenwert wird gespeichert, und nach 20ms wird das ganze wiederholt um sicher zu sein, dass die Taste wirklich gedrückt wurde (entprellen). Die gedrückte Taste wird
-
Thread
LED springt sporadisch (ATtiny13A; Anfänger)
Die Entprell-Routinen sind fehlerhaft. [code] _delay_ms(30); do { } while (!(PINB & (1 << PINB1))); // erst weiter wenn kein taster mehr [/code] Nach Tastendruck wird zum Entprellen 30ms gewartet und
; // erst weiter wenn kein taster mehr _delay_ms(30); [/code] Etwas sauberer wäre, nicht fix 30ms zu warten, sondern zu warten, bis der Taster nicht mehr prellt. Das kann bei ganz billigen Tastern durchaus länger dauern. Vorschlag
-
Thread
[Anfängerfrage] kleiner Zähler (7-Segment/Atmega8A in BASCOM) tut nicht was er soll
Hallo, Taster prellen, man muss sie also entprellen. Danach folgt noch eine Mechanismus um Zustandsänderungen zu verarbeiten. Darauf reagiert dann das Programm entsprechend. Dazu gibt es ein HowTo hier im Forum
, mangels entprellen, viele Male hintereinander, aber da dies so schnell passiert, dass das Auge es nicht wahrnimmt und das Endergebnis sowieso die gewünschte "6" ist, habe ich es vernachlässigt. Taster 1 ist natürlich
-
Thread
Universelle C-Funktion zur Flankenerkennung - Fehlerbehebung
Am effektivsten macht man das nicht umständlich für jede Taste extra, sondern über die komplette Portbreite und ruft das zyklisch im Timerinterrupt auf, damit keine Flanke verloren geht. Außerdem kann man dabei bequem die Tasten mit entprellen. Im Main maskiert
Peter D. schrieb im Beitrag #7606537: > Am effektivsten macht man das nicht umständlich für jede Taste extra, > sondern über die komplette Portbreite und ruft das zyklisch im > Timerinterrupt auf, damit keine Flanke verloren geht. Außerdem kann man > dabei bequem die Tasten mit entprellen. >
-
Thread
AVR Atmega 328 Hilfe bei LED Taster Schaltung
entprell den Taster und Alles wird gut
> PORTC = 0xFF; // Register C Pullups ein Frank L. schrieb im Beitrag #5833196: > entprell den Taster und Alles wird gut Nö. Die Lampe soll so funktonieren als wäre der µC da gar nicht drin: Knopp gedrückt=Licht, loslassen=Dunkelheit. Da muss nichts entprellt werden.
-
Thread
ATTiny13 Programmieren
Vielleicht sollte man die Eingänge entprellen, wenn Taster daran angschlossen sind. Was ich einfach mal vermute.
Hallo schrieb: > Vielleicht sollte man die Eingänge entprellen, wenn Taster daran > angschlossen sind. Was ich einfach mal vermute. Die Eingänge brauche ich nicht entprellen, da ich mir ein Testlayout geätzt habe. Die werden mit Jumpern gesetzt :) Ich
-
Thread
Dauerhafte Pinüberwachung in Assembler
Prüfe nach jedem Befehl in LED1 den Eingang andem die Taste hängt und Spring, in LED2 falls die Taste gedrückt wird ;-)
Socke schrieb im Beitrag #3455046: > Liegt es vielleicht daran, dass man den > Taster zu lange betätigt und er dann dierekt das Register +3 nimmt? Das wird wohl eher das Tastenprellen sein. Hier muss also noch eine Entprellen des Tasters dazukommen. Das kann per hardware gemacht
-
Thread
Variable als Zähler
oder eher "unterschiedlich oft"? Falls nur unterschiedlich oft, dann gehts doch auch so: 1) Tasten entprellen und Flankentrigger erzeugen 2) Abhängig von Taste Zähler mit unterschiedlichen Werten laden 3) Zähler herunterzählen 4) irgendein Bit des Zählers auf LED ausgeben [vhdl] : : port
std_logic_vector(7 downto 0) := x"00"; : : process (clk) if rising_edge(clk) then -- Tasten entprellen (einsynchronisieren) -- entfällt, wenn sowieso schon synchron t1_entprellt <= t1_entprellt(6 downto 0) & taste_1; t2_entprellt <= t2_entprellt(6 downto 0) & taste_2;
-
Thread
Arduino: Finde den Fehler im Sketch nicht, bitte um Hilfe!
da Du ja nur eine Aktion bei jedem Drücken ausführen willst und nicht solange Du drückst. Und Entprellen ist auch sinnvoll. Es scheint, daß Du die Tasten analog mit Spannungsteiler einliest, hier mal ein Beispeil dafür: https://www.mikrocontroller.net/topic/64731#new
ja nur eine Aktion bei > jedem Drücken ausführen willst und nicht solange Du drückst. > Und Entprellen ist auch sinnvoll. > Es scheint, daß Du die Tasten analog mit Spannungsteiler einliest, hier > mal ein Beispeil dafür: > Beitrag "Tastenmatrix auslesen über nur 2 Leitungen" Ja, es funktioniert