-
Thread
was macht diese Tasterentprellung?
macht (wird nur einmal aufgerufen?). Danke schonmal im Voraus :). gruß Cutty [vhdl] entity Entpreller is port ( clk,reset: in std_logic; in_Sig : in std_logic; out_Sig : out std_logic ); end entity; architecture rtl of Entpreller is signal count : integer
Ausgang gespeichert. Diese Entprellung dauert also 20ms und hat nur 1 Vergleicherstufe. Für reale Taster bevorzuge ich mehrere Stufen, damit ein Signal nicht nur an 2 Abtastzeitpunkten zufällig mal gleich sein muß. Insgesamt ist die Registertiefe für eine saubere Einsynchronisierung noch nicht ausreichend
-
Thread
Programm für Testgerät
1 aktiv), nochmal tasten zweites kabel (nur 2. Ausgang aktiv),....und am ende alle Kabel testen. Die Kabel am besten noch einlesen und bei Fehler eine LED aktivieren. nach 5 Minuten ohne Taste sleepmodus. Hat jemand sowas
hallo, also hier mein programm. leider funktioniert es noch nicht. auch wenn ich den taster entprelle. kann mir jemand sagen wo der Fehler liegt. $regfile "m8def.dat" $crystal = 1000000 Config Portd = Input Config Portb = Output Dim B As Integer Portd = 255 B = 0 Do
-
Thread
Seltsames FPGA Verhalten beim Systemstart
mal noch eine Frage: Spricht eigentlich, wenn man eine bestimmte Zeit abwarten möchte (z.B. beim Entprellen von Tasten) etwas gegen das wait for xxx statement? Oder sollte man da stattdessen auf Zähler setzen?
dem Takt) ? > Spricht eigentlich, wenn man eine bestimmte Zeit abwarten möchte > (z.B. beim Entprellen von Tasten) etwas gegen das wait for xxx statement? Gegen "wait for 1ms" spricht nur, dass es nicht in Hardware umsetzbar ist. Simulieren kannst du das schon... :-/
-
Thread
Vier Gewinnt auf Mikrocontroller ohne KI?
der Spieler ja auswählen, in welche Spalte er eine Spielmarke einwerfen will. Dieses links/rechts Tasten Auswerten ist die Vorstufe dazu. Wenn das klappt, kann man eine 3te Taste dazu nehmen. Mit den links / rechts Tasten wählt man die Spalte aus, mit der 3.ten Taste soll die 'Spielmarke' dann 'nach
willst Du sicherlich nicht. Du meinst wohl ~P0. Das invertiert P0 bitweise. Wenn P0 = 0xff (keine Taste) ist ~P0 = 0x00. Ist die Taste 0 (= bit 0) gedrück, ist P0 = 0xfe und somit ~P0 = 0x01. Abgesehen davon, solltest Du die Tasten entprellen. Noch was: Du prüfst nicht auf ~P0 && 0x20. Was
-
Thread
Probleme bei der Stueuerung über Taster!
nicht richtig entprellt sein. Im Anhang mal den Menücode. Ich hatte eigentlich vor alles in einer entprell.h zu schreiben und im Menue aufzurufen. Als Controller habe ich einen Atmega 328p bzw. Atmega8. Das Display und die Taster hängen wie beim MiniMexle an PortC. Ich schalte also einmal auf Ausgang und
Vergiss dein entprell. Nach jeder der 4 Tasten 100ms zu warten, ist Unsinn. Dein Hauptprogramm main hat ja schon eine 10msec Schleife, länger prellen deine Tasten nicht. uint8_t tasten_bisher=0,tasten; #define
-
Thread
timer in c: 5 sec. warten zwischen 2 befehlen
weiter vorne/ anfangen. 1. Könnt ihr C auf dem PC programmieren? 2. Wenn 1. ja, dann fangt an mit Taster-Auswertung. Ruhig erstmal ohne Entprellen. 3. Wenn 2. klappt, dann LED setzen, Blinklicht, Lichterorgel und was alles noch da zu gehört. 3. Wenn 3. klappt, einige LED-Funktionen über Taster
-
Thread
Dannegger-Entprellung anpassen
verstehe das mit den Kombinationen nicht und darüber hinaus probiere ich die ganze Zeit herum, um mit Taste 1 und 2 aus dem Menü einen Punkt zurück zu springen. Aber ich bekomme es nicht hin. Habe mir den Thread zum Entprellen schon durchgelesen...mir ist das auch klar, dass der uC nicht wissen kann,
Tasten: 3 Shift + 2 Tasten: 4 3 Tasten kurz/lang: 6 Shift + 2 Tasten kurz/lang: 8 [/pre] Peter
-
Thread
Tastenabfrage bei Menüführung - Ideenblockade
) PS: funktioniert auch mit verteilten Eingängen (Pegel in eine Variable kopieren und diese entprellen).
Das Loslassen der Taste wird übrigens auf die gleiche Weise ebenfalls entprellt.
-
Thread
µC Auswahl für Projekt "Stadionanzeige" für mündliche Prüfung
Interrupts sein, oder reicht es nicht auch aus, wenn Du jede Sekunde den Eingang abfragst. Wenn es Taster sind, denk an das Entprellen. > - Genügend Register um die Punkte und die Minuten/Sekunden zu speichern > (Punkte werden durch die Externe Interrupts hoch gezählt und Zeit wird > nach Timer Interrupt
das Tasten einlesen und Entprellen gleich mit. > - Genügend Register um die Punkte und die Minuten/Sekunden zu speichern > (Punkte werden durch die Externe Interrupts hoch gezählt und Zeit wird > nach
-
Thread
Abarbeitung nach Interrupt INT0
Da mechanische Taster prellen, ist das mit dem Interrupt keine gute Idee. Hier im Forum gibt es diverse Routinen zum Entprellen per Software, die du dafür nutzen kannst. Die Ergebnisse fragst du dann einfach in der Hauptschleife
Signalwechsel" warten zu müssen. Deshalb hab ich die "delay-Zeit" auf nur 30 ms gesetzt. Vom Entprellen der Taster natürlich abgesehen, mir gehts nur darum, wie ich aus der Interrupt-Funktion wieder herauskomme. Gruß
-
Thread
IRMP mag nicht - Hardware?
Bild. Holger, Du hast 100% recht mit dem Kondensator. Am Eval-Board war noch ein Jumper auf eine Taste gesetzt für den Eingangspin. Die ist zwar offen, aber daran hängt so eine R-C Kombination zum Entprellen. So was doofes - meine mich. Sorry für Euren Zeitaufwand. Nun ja, nun gehts - fast. Protokoll ist schon mal richtig. Bei einer Denon kommt immer (egal welche Taste) 5 12884 0. Bei Toshiba 2 -17851 49. Command ändert sich allerdings nicht, egal welche Taste. Jetzt mache ich das erstmal zurück auf 16Mhz und prüfe alles nochmal sorgfältig durch. Danke! Axel
-
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
programmierung arduino schalter
schreiben für Aeduino uno,ähnich wie weiter oben, um meine Blinker am Fahrad zu steuern? -Habe 2 Taster, Links und Taster Rechts eingebaut. Zwei LED,s. für Links und Rechts (Blinker). Mit Taster Links, Blinker Links einschalten und beim 2x dücken auf den Taster, soll Blinken aus gehen. Für rechten Taster, auch so. Wenn man den einen oder den anderen Taster/Blinker als ersten gedrückt hat, soll der andere Blinker nicht kommen, ausser man bleibt 2 od. 3sec. auf beide Taster, dann kommen beide Led
-
Thread
Wie lange prellt ein Taster in der Regel?
Morgen zusammen. Mal ne Frage, wenn ich nen Taster entprellen will, wie lang sollte ich in der egel warten, bis ich den nächsten Zustand abfrage? Reichen 10ms? Danke!
unter der Periode bleiben, nicht unter der Gesamtzeit der Schwingungen. D.h. man kann schlechtere Tasten oder in kürzerer Zeit entprellen. Und als Dreingabe bis zu 8 Tasten entprellen ohne höhere CPU-Last, ist auch ganz nett. Peter
-
Thread
ISP funktioniert nur beim ersten Mal
Board nur bis max 4,6 V) auf 4,0 V oder niedriger senke, kann ich durch Druck auf einen der drei Taster unten die richtige Spannung zw. Reset und GND wiederherstellen. Somit muss ich nur nach jedem Mausklick, bei dem etwas auf dem ISP geschieht, einen Taster drücken und kann weiter machen. Das ganze
und GND wieder umdreht. Somit kann ich über ISP wieder 1x etwas tun und muss dann wieder einen Taster drücken.
-
Thread
MSP430F2012 LED Blinken lassen
Wenn schon Interrupt, dann aktiviere ihn auch und schreibe eine Interrupt-Routine dazu. ABER: Bei Tasten ist ein Interrupt keine gute Wahl! Du musst den Taster entprellen! > while schleife sage ich ihm doch blos das er den Interupt auslösen soll > wenn ich den taster gedruckt habe oder verstehe ich
0; _BIS_SR(GIE); while(1) { // (Tastenabfrage eventuell noch entprellen...) if (P1IN & 0x02) // Taster abfragen (hier high-aktiv) LED_Enable = 1; // Blinken aktivieren else { LED_Enable = 0; // Blinken deaktivieren P1OUT &
-
Thread
externer Interrupt an PORT C
und dann von dem Rest die 6 Pins fürs LCD. > Habt ihr da Erfahrungen oder Ideen? Ja. Fürs Tasten Entprellen nie einen externen Interrupt nehmen! Wenn ich sowas schon lese, krieg ich Bauchgrimmen. Peter
Peter Dannegger schrieb im Beitrag #1734839: > Fürs Tasten Entprellen nie einen externen Interrupt nehmen! > Wenn ich sowas schon lese, krieg ich Bauchgrimmen. Naja, einen plausiblen Grund für einen externen Interrupt vom Taster gibt es schon, und zwar
-
Thread
Programmoptimierung
gemacht. Habe ich mal irgendwo gesehen wie das geht. @Peter & Uwe Mal gucken, ob ich das mit dem Tasten-Entprellen mache. Ist das wirklich nötig? Für den Benutzer ist das denke ich mal kein Problem den Taster ein bisschen länger gedrückt zu halten... ff schrieb im Beitrag #1732741: > idealerweise
für den Link. :-) Falk Brunner schrieb im Beitrag #1732956: >>Mal gucken, ob ich das mit dem Tasten-Entprellen mache. Ist das wirklich >>nötig? > > Es ist deutlich besser. Und tut auch nicht weh. Oooookkkkkk. Wenns nicht weh tut, dann entprelle ich eben den Taster. Ist ja auch im Tutorial
-
Thread
Hochfrequentes Flackern Filtern (Tiefpass)
der dann auch nur im gleichen takt mit? gibt es vielleicht eine art schaltung wie man sie zum entprellen von tastern verwendet die hierfür geegnet ist? vielen dank für die hilfe!
-
Thread
Problem beim DREHGEBER
erhöhen sts evt,wl ;und wieder sichern andi wl,15 ;jedes 16. mal Tasten statt Drehgeber abfragen brne drehgeber1 ;16. mal? - nein, Drehgeber abfragen... rjmp entprellung ;ja, Tasten entprellen... drehgeber1: ;Drehgeber abfragen in wl
zurück... ;in dgfl stehen nun die Drehgeber-Ereignisse, 54=links, 10=rechts entprellung: ;Tasten entprellen lds r0,pz0 ;Variablen holen lds r1,pz1 lds zl,tfl lds wh,tas debounce8: ;Entprellen der Tasten ;wl enthält neuen Wert, wh enthält entprellten Status ;r0 enthält
-
Thread
Sleep Mode Probleme -Atmega169P
ein PCINT und passt der momentane Zustand nicht mit dem gespeicherten i, kann nur einer der beiden Taster gedrückt worden sein.
gesetzt, wenn ein Impuls gekommen ist */ #define FLAG_IMPULS 2 /** * Nach Entprellroutine - Taster1 (Weiter) gedrueckt */ #define FLAG_S1_PRESSED 3 /** * Nach Entprellroutine - Taster2 (Bestaetigung) gedrueckt */ #define FLAG_S2_PRESSED 7 [/c] PS: Die Entprellroutine habe ich
-
Thread
System Fehlersuche (Hardware oder Software)
der beiden Entwicklungsteams die "Schuld" zuweisen, daß da was nicht richtig funktioniert weil eine Taste prellt. 99% der Tasten prellen nun einmal und müssen entprellt werden ....
der interne Tuerstatus auf HIGH gesetzt.. das > selbe fuer LOW... Bist Du sicher das eine Entprell-Routine eingebaut ist ? Ohne Böses zu unterstellen, aber wenn die Abfrage einfach nur den PIN min. 4 mal alle 500ms abgefragt werden, könnte ja durchaus bei einer Störung genau zu den Zeitpunkten
-
Thread
Datenstruktur bei vielen Ein/Ausgängen
Sekunden, um lange Tastendrücke zu erkennen? Oder statt 'nem zusammenhängenden Abbild aller Taster lieber für jeden Taster ein Statusbyte ansetzen, wo dann einzelne Bits den aktuellen, (vor)vorherigen Zustand usw. repräsentieren? Was ist bei solch vielen Eingängen die geschicktere Variante? Unten
Ausgängen aufgeführt. Und mit der Frage der Eingänge verknüpft - wie am vorteilhaftesten entprellen? Es werden ja kaum mehr als zwei Taster zugleich gedrückt werden. Über mehrere Abbilder vergleichen, und wenn meinetwegen die letzten drei übereinstimmen den Zustand als endgültig ansehen? Oder lieber
-
Thread
Open source Autoradio
auch einen besseren Druckpunkt zu bekommen) könnte man die Taster stehend an einer Platine befestigen, die auf die Achse des Drehgebers angebracht wird, also in etwa so: +-----+ | # | |# o #| | # | +-----+ #: Taster o: Achse des Drehgebers Bei der
die Entwicklung einer Intuitiv zu Bedienenden Oberfläche (gutes Bedienkonzept mit Touch + Hardware tasten) reduzieren. Gruß Jörn
-
Thread
Tastenanschläge zählen in c (ATMEGA32)
Also entprellt ist die Taste mit mit na schönen 100nF Kapazität! Ist der Zähler sonst in Ordnung so? also müsste a um 1 erhöht werden wenn ich die Taste drücke?
- LED blinken mit Delay, - LED blinken mit Timer, - LED blinken mit Timerinterrupt, - LED mit Taste an/aus, - LED mit Taste toggle - 2 LEDs mit 2 Tasten toggle Dann bist Du bereit. Peter
-
Thread
Taster will einfach nicht funktionieren (ATMEGA32 AVR)
genutzt aber irgendwie nicht das richtige gefunden. Ich möchte ganz einfach nur eine LED mit einem Taster anmachen und bei erneutem drücken wieder ausmachen. Ich versuch das über die ISR, bekomme es aber nicht hin das mein Programm auf egal was immer ich in ISR reinschreibe reagiert. Habe mit sei() die
an PB4 angeschlossen ist) wieder ausgeht!?! Garnichts, denn das ist ne Sackgasse. Du mußt entprellen: http://www.mikrocontroller.net/topic/164194#new Peter
-
Thread
Pulslänge messen
versuchen das 1kHz Signal komplett in Software zu zählen. Dazu würde ich genau so vorgehen wie beim Tasten entprellen, im Prinzip tust Du hier ja nichts anderes. Ich formuliere es mal so; Du möchtest einen Tastendruck erkennen der länger als 1/1kHz dauert ;-)
-
Thread
Tastenabfrage so OK?
seperate Einleseoperationen gemacht. Für AVRs gibt es gute Funktionen zur Entprellung, die mehrere Tasten überwachen können und denen du die Auswertemaske übergeben kannst.
Karl heinz Buchegger schrieb im Beitrag #1706404: > T1, T2, T3 und T4 Das sind die Eingänge, entprellen muss ich die nicht, das waren mal Taster, sorry, hätte ich dazu schreiben sollen. Jetzt sind es Ausgänge von nem Halbleiter, prellen also nicht. Der Controller ist ein MSP.
-
Thread
routine C_TAST.C /p.danneger / auch in assembler ?
hallo, gern würde ich die routine C_TAST.C zum entprellen von tasten in eingenem programm nutzen. leider komme ich mit C nicht wirklich gut zurecht. hier der link zum originalbeitrag: http://www.mikrocontroller.net/topic/48465#new meine
-
Thread
-
Thread
Anfangsprobleme mit Soft PWM und Tasterabfrage
wird vernünftig ausmaskiert. Hast du lust mir da auch noch zu helfen?? Grade zu dem entprellen Thema hatte ich die letzten tage echt viel gelesen. Hatte mein projekt vorher in C versucht und hab das alles einigermaßen gut hinbekommen außer halt diese einfachen sachen wie taster. Hab
Erstmal musst Du eine Reaktion auf Deine Taste haben, bevor Du Dich ans Entprellen mit einer Routine begibst, welche nicht zu Deinem Programm passt. Schreibe ein einfaches Programm: LOOP: in temp, PIND out portb,temp rjmp LOOP
-
Thread
Entprellen..schon alles versucht..Atmega zu schnell?
Schmitt Trigger, du brauchst entweder ein Flip-Flop, oder ein Mono-Flop, wenn dass mit dem SW entprellen nichts ist
..und das für alle vier Anzeigen. Ich probiere jetzt mal die von euch angesprochene "Super-Entprell-Software" aus.. :)
-
Thread
Brauch hilfe beim programmieren.
0 Errors, 0 Warnings blinken tut sie aber nicht... für mich is das delay nur wichtig fürs entprellen der Taster...
daran eig auch nicht liegen. MfG KiwiNane PS Taster wie zu sehen an PORTH Pin0
-
Thread
Entprellung in der ISR
Eine zuverlässige Methode ist, man nimmt den Interrupt nur zum Aufwachen und läßt dann die Taste ganz normal über den Timerinterrupt entprellen. War es nur ein Störimpuls oder gibt es nichts weiter zu tun, dann enabled der Timerinterrupt nach ner Weile wieder Sleepmodus und Aufwachinterrupt
> Eine zuverlässige Methode ist, man nimmt den Interrupt nur zum Aufwachen > und läßt dann die Taste ganz normal über den Timerinterrupt entprellen. Wie würde sowas aussehen?
-
Thread
Eingänge des Atmegs im Auto beschalten? Bessere Lösung gesucht.
sind da andere Schaltungen üblich? Wenn es andere gibt, welche? Frage 2: Wie muss ich es mit dem entprellen halten? Wenn meine Zündung ein ist, ist das ja nichts anderes, als wenn ich am Schreibtisch auf dem Steckbrett einen Taster mit VCC verbinde, also nur einen 10KOhm Widerstand davor und gut oder muss
softwarelösungen. Also ich verwende Bascom zum programmieren. Als Softwarelösung ist mir nur das Entprellen von Tastern die gegen Masse ziehen bekannt. Meinst du das damit oder gibt da noch andere Verfahren, z.B einen gegen VCC ziehenden Taster zu entprellen? Ich es bei Taster gegen VCC immer mit einem
-
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
STK500 - Codeschloss programmieren
machen. Nur noch eine frage. Habe vorher auch schon ein programm geschrieben, wo man erst wartet, bis taste losgelassen wurde. Habe das mit while schleife gemacht. Aber anscheinend muss ich zum entprellen es für diese aufgabe anders machen und das verstehe ich nicht. Bei einer einfacheren aufgabe habe ich
Also ich hab wie gesagt mal was anders programmiert und für das drücken und loslassen der Taste einfach zwei While Schleifen genommen, wenn das kein Entprellen ist, was dann?
-
Thread
Probleme mit Pollin Evaboard 2.0.1
pull-up enabled [/c] Entprellen hilft auch noch. Blackbird
Strom). Die Cs werden von den Tastern kurzgeschlossen, da fließt kurzzeitig ein hoher Strom. Schlecht für die Tasten. Blackbird
-
Thread
Programmierbarer Schalter
ein Anfang... ...dahinter ein BCD-Dekoder, zB. 74HCT42.... ...und dann den Eingang vom Ganzen entprellen. Da wären 10 Stufen sehr gut realisierbar. Hauptproblem wäre, wie sooft, die Entprellung der Taster; aber darum wirst Du bei keiner Lösung drumrumkommen. In jedem beliebigen µC geht das komfortabel per Software. Vielleicht doch? ATmega 8 und die zwei Kapitel im Tutorial: "PWM" und "Entprellen von Tastern". Es ist, wie so oft, eine Frage des Einarbeitungsaufwandel. Der "TTL-Kenner" würde schnell und problemlos den ersten Weg wählen, der "µC-Nutzer" den zweiten, ohne eine Frage dazu
-
Thread
interrupt routine haut nicht wirklich hin.
beispielsweise 1,2,4,7,9,13,15 usw.. anstatt 1,2,3,4,5 etc bekommme. Irgendwie zählt der bei meinem Taster bei eingeschaltetem Interrupt wahllos mehr Tastenschläge mit als ich tatsächlich ausführe. Prellung schließe ich aus da ich selbes Programm ohne interrupt abgleich (auskommentieren von t==1) ausnamslos
ziemlich lange (wegen der LCD-Ausgabe). Diese Verzögerung nach jedem Tastencheck wirkt wie ein Entprellen. Mit dem if ist die Funktion ruck-zuck fertig (außer halt es ist gerade eine Sekunde rum), und das Prellen schlägt durch.
-
Thread
Timer0 bei Bedarf
solltest Dich mehr dafür interessieren: - Wie erzeuge ich mit einem Timer einen Zeittakt? - Wie entprelle ich mit einem Timer Tasten? - Wie reagiere ich auf Tastendruck? - Wie programmiere ich einen Count-Down? ...
ob die "Zeit läuft" oder ob das Ding in Bereitschaft ist. - In diesem Interrupt würde ich die Tasten entprellen [[Entprellung]] und einen Vorteiler laufen lassen, der mir jede 50. Runde (alle 1,00 Sekunde) eine Routine zum Bedienen des Count-Downs (des Software-Timers) aufruft. - In dieser würde
-
Thread
Anfängerfrage
umsetzung klar. Wenn ich ein Interrupt programmiere springt er ja in die routine da ich aber einen taster und keinen schalter benutze springt er doch wenn er fertig ist wieder ins hauptprogramm. Er soll aber in dem lauflicht bleiben bis man einen anderen Taster wieder drückt. Wenn mir einer Starthilfe
wenn das schonmal klappt kannst du dann weitermachen, wie z.B. dass die LED ausgehen soll wenn der Taster wieder losgelassen wird, oder dass du den Taster entprellst. Dazu kannst du dir auch hier im Forum mal den Artikel Entprellung durchlesen.
-
Thread
Reset-Taster entprellen?
Nein den Reset-Taster musst du nicht entprellen, da es egal ist wenn zweimal kurz hintereinander resetted wird. Also halt Reset->1ms>nochmal Reset das stört keinen
warum nicht den reset taster an einen Prot B oder d hängen?? dann kannste im programm den taster entprellen und dann goto start; ist das einfachste^^