-
Thread
Interrupt Problem
hab ein problem mit meinem interrupt, bei der initialisierung mache ich eine led an, wenn ich die taste drücke sollen am port b ein paar leds angehen, wenn der timer abläuft sollen ein paar andere leds angeben, mehr soll erstmal nicht passieren. hier das problem, wenn ich den taster dücke gehen die
Bevor die ganze Welt scheinbar gegen Dich ist, suche nach 'Tasten entprellen' hier oder irgendwo. Fang am besten in der Codesammlung an :-)
-
Thread
Externer Interrupt oder TimerInterrupt und Pin abfragen?
Für Tasten gibt es bewährte Erfassungs-Routinen, die auch das Entprellen von Tastern (meist lösen die beim Drücken und beim Loslassen jeweils mehrere Pegelsprünge aus) besorgen. Hier wird mit Hilfe eines
wie schmutzig ist denn das signal und wie lange soll die taste gedrückt sein ? Ich mache es meist so, unterbrechungsroutine starten. Wenn ausgelöst, dann ISR abschalten ,1 - 100ms ( je nach anwendung , weniger, oder länger ) warten, machsehen, ob taster gedrückt
-
Thread
Cmos-Digital-Uhr
Die Schaltung verwendet nicht-entprellte Taster zum Stellen am CLOCK Eingang der Stunden bzw. Minutenzähler, das geht natürlich nicht. Es gäbe nun gute Lösungen mit Entprellen und umschalten des Sekundentaktes auf die anderen Zähler, und dabei
hintereinander abgibt und die Anzeigen dadurch verrückt spielen . Gibt es eine einfache Möglichkeit die Taster zu entprellen also am besten nur mit wenigen Bauteilen ?
-
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
Menü (hängt)
eines Menüs gesetzt, allerdings will das nicht so wie ich will. Hardware: LCD an PORTB Taster 1 (links) an PIND2 Taster 2 (rechts) an PIND3 Taster 3 (OK) an PIND4 alle Taster gegen Masse Quartz 16 MHz Soll-Funktion: Das Menü soll folgendermaßen zu bedienen sein: linkst - Taster blättert eins weiter nach links und der rechts - taster eins weiter nach rechts, weir OK gedrückt so wird der aktuelle Menüpunkt ausgewählt. Problem / Ist - Funktion: Sobald das Programm startet
-
Thread
schalter entprellen
Guten Tag Hab mal ne Frage wie kann ich in Assembler einen Schalter entprellen? Gruss
vielleicht gibt es schon einen ähnlichen Beitrag" http://www.mikrocontroller.net/forum/1?filter=entprellen
-
Thread
Tastatur mit Interrupt
Und an das Entprellen der Tasten denken. Mechanische Kontakte prellen; deswegen verwendet man normalerweise keinen externen Interrupt für Taster (er würde mehrfach ausgelöst), sondern macht die Abfrage (und auch die
Nimm besser nen Tmerinterrupt, dann braucht man keine Dioden und das Entprellen fällt mit ab. Peter
-
Thread
Abfrage von Tastern
(!(PINB & (1<<PB7))) // Wenn Taste = Low { stunden++; } PORTD = stunden; } [/c] Mein Problem ist nun, obwohl kein Taster gedrückt ist, die Anzeige der Stunden im Sekundentakt hochzählt. Bitte helft mir, obwohl
Wie ist dein Taster denn angeschlossen? Verbindet er PB7 mit Masse bei Betätigung und ist ein Pullup-Widerstand von PB7 vorhanden?
-
Thread
Brauche dringend Hilfe mit 4Gewinnt
: std_logic := '0'; ------------------- begin --------------Taster entprellen---------------------- process (clk) begin if rising_edge(clk) then ----------- for i in 0 to 7 loop if (inp(i) = inp_entp(i)) then inp_entp_cnt(i) <= 0;
of integer range 0 to 8; signal CountS : intA := (others => 0); ------------------- --Taster entprellen signal inp_entp : std_logic_vector (0 to 7) := "00000000"; ------------------- begin EntprellenNeu: process type intB is array(0 to 7) of integer range 0 to 150000; variable
-
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
Interrupt button
ist es ja so, dass die while schleife immer durchläuft und nur wenn ich im richtigen zeitpunkt den Taster gedrückt halte, die LED angeht. Kann man das auch so machen, dass eine Routine aufgerufen wird, sobald ich den Taster drücke und dort dann drinn steht: [code] PORTB |= (1<<PB0); // LED an
Peter schrieb im Beitrag #3834777: >> Taster an Interrupts zu hängen ist der nächste Fehler ;) Weil Taster prellen. Du drückst einmal und es werden 5 Interrupts ausgelöst. Wie stellst du denn fest welche der Interrupts aufgrund eines Prellvorgangs
-
Thread
Atmel Attiny 44a funktioniert unter 3,8V nicht korrekt
alles andere einwandfrei läuft. Zum Aufwachen nehme ich einen leeren Pin-Change-Interrupt, denn das Tasten entprellen und auswerten macht ja bereits der Timerinterrupt. [c] EMPTY_INTERRUPT(PCINT_vect); // wake up from power down [/c] https://www.mikrocontroller.net/topic/223079#2237867
andere einwandfrei läuft. > Zum Aufwachen nehme ich einen leeren Pin-Change-Interrupt, denn das > Tasten entprellen und auswerten macht ja bereits der Timerinterrupt. > [c] > EMPTY_INTERRUPT(PCINT_vect); // wake up from power down > [/c] > Ohne sleep funktion läuft der uC bei 5V als auch 3V. also
-
Thread
ATMEGA 8, EXT_INT0, viele Verständnisprobleme
Käfer merklich warm. Also nicht machen sondern einfach nur mit Portd.2 den Pullup einschalten. Entprellen mit RC-Glied und nicht nur nen C parallel zum Taster, wie man es gelegentlich sieht. Das wäre jedesmal ein Kurzschluß für den Taster beim Schliessen. Edit: Auch dieser Murks funktioniert erstmal
#3276373: > Ursprünglich wollte ich PD2 als Eingang (mit pull-up-R) initialisieren > und mit einem Taster nach L ziehen. -- Ja, ans Entprellen d. Tasters habe ich gedacht. Weitere Fragen von mir werden sicherlich noch kommen. Dann in einem neuen Beitrag. Danke, fredl
-
Thread
Schalterentprellung mit digitaler Logik
Entprellst du einen Taster oder einen Schalter? Wenn es ein schalter ist kannst du ein RS-FLipflop nehmen, weil der Schalter ja nicht bis zum gegenüberliegenden Kontakt prellt.
Arsch Gwaf schrieb im Beitrag #2717294: > Entprellst du einen Taster oder einen Schalter? Wenn es ein schalter ist > kannst du ein RS-FLipflop nehmen, weil der Schalter ja nicht bis zum > gegenüberliegenden Kontakt prellt. Das hat nichts mit
-
Thread
MSP430 Problem mit LCD
Switch Case Anwendung. Ich nehme an, dass es an der fehlenden Entprellung liegen könnte. Also mal Tasten entprellen.
aufgekreuzt ist, änder ich mal meinen namen, aug, aug... ansonsten, wie chris schon sagt, ordentliche isr, tasten entprellen (daran liegt es aber bestimmt nicht) und mal code überdenken... das geht auch kürzer und nicht so umständlich, wer soll bei dem durcheinander einen fehler finden... ausserdem kommen mir
-
Thread
Handbetriebenen Drehgeber ohne Timer auswerten
aber für das Lesen keinen Timer einsetzen. wieso? passende Routinen kann man kombinieren, Tasten und Encoder -prellen auch mit berücksichtigen, ich hatte PeDas Entprellroutinen für Tasten und Encoder sogar zusammen nutzen können, eigentlich kann man ALLES mit einem timer erschlagen, man muß nur
anderes. Ist ja auch nur ein Beispiel. Polling - insbesondere in Verbindung mit der Auswertung von Tasten oder Drehgebern - nennt man das zyklische Abfragen der Schaltzustände. Unabhängig davon ob sich da irgendwas geändert hat oder nicht. Für manuell bediente Taster oder Drehgeber reichen 2ms Zykluszeit
-
Thread
Beenden eine while(1)-schleife in einer Interruptroutine
Die Interrups laufen nicht über die selbe Taste deswegen kann schlecht unter Switsch gemach werden. Jede interrupt hat sein Erzeuger(taste). so meine ich : void Einspritzen(void) { while(1) { // do many things }
hinein springen. Machs mit Goto: beginn: . . . schleife1: tuh irgendwas; if (taster2) goto schleife2; goto schleife1; . . . schleife2: tuh irgendwas; if (taster1) goto schleife1; goto schleife2; . . . goto beginn;
-
Thread
Erzeugung von 25kHz PWM mit Hilfe von Timer 1
Funktionsgenerator erzeugtem 10kHz Rechteck. Wie kann man das erklären? Kann ich das Quarz iwie Testen ? Tasten entprellen hab ich mich jetzt noch nich beschäftigt. Die Taster an meinem Pollin Eval-Board sin über ne RC-Kombination entprellt: PINx ---|----|---Taster----> 5V | | C
aktivieren"? Oder ist es Sinnvoll einen Timer für andere Steuerungsaufgaben aufzuheben ? ( Entprellen oder für iwelche Interrupts zB will ich noch den UART für ne Kommunikaton mit dem PC nutzen ) " Währe über jede Hilfe dankbar. mfg Julian D
-
Thread
FlipFlop mit einem Taster
Hallo Wie bekomme ich es hin, mit ausschließlich Logikbausteinen ein FlipFlop mit einem Taster (Schließer) zu steuern? Also TasterGedrückt&LichtAus = LichtAn bzw TasterGedrückt&LichtAn = LichtAus Dabei müsste man natürlich noch die Schaltflanken mit einbeziehen, da das FF sonst bei gedrücktem Taster ständig schalten würde
-
Thread
Vor/Nachteile SchmittTrigger vs. Softwareentprellung
Ausserdem ist es umgekehrt. SW-Entprellung geht nur für mässig schnelle Signale. Wenn ich einen Taster an einem Eingang habe, dann kann kein Mensch einen Taster drücken und ihn 30 Millisekunden später schon wieder loslassen. So schnell bist du nicht. Habe ich also ein Eingangssignal, auf dem ich einen
die fängt gerne mal EMI ein. Und dann wundert sich der Anfänger, wenn was passiert, obwohl er die Taste nichtmal berührt hat. Peter
-
Thread
Frage zu Timer und genereller Programmaufbau/Ablauf
if(!Taster && !Merker) { Taster = 1; Merker = 1; } else if(!Taster && Merker ==1) { Taster = 2; Merker = 0; } else { //TODO } } [
setzt globales Interrupt Enable Bit return; } /* * Funktion debounce(): Funktion zum entprellen von Tasten, Schalter, etc * "Warteschleifenvariante mit Maske und Pointer (nach Christian Riggenbach)" * gefunden auf microcontroller.net */ void debounce( uint8_t *port, uint8_t maske
-
Thread
Taster 3 Stufen
oben beschrieben. Ein t/u Diagramm nützt da nix, da die Spannung so lange anliegen soll, wie der Taster gedrückt wird... das ist zeitlich variabel. Zu deiner Frage: ineinander Flugzeug sind schon genug Schalter und Taster drinnen... noch mehr unsinnige Taster machen es im Notfall zu unübersichtlich
Hier noch eine kleine Änderung, damit kannst Du einen einpoligen Taster nutzen...
-
Thread
Counter hochzählen mittels Taster -Atmega88
im Beitrag #2580044: > Könnt ihr mir gegenenfalls einen Ansatz/Idee geben wie ich es besser [[Taster entprellen]]
Okay das ich den Taster entprellen muss, war mir klar bzw. das es damit zusammen hängt. Nur wird mir aus dem bislang gelesenen nicht deutlich wie ich das auf diesen konkreten Fall anwenden soll. Da die bislang gelesenen Artiklen
-
Thread
Dauer einer Taste ermitteln
eines Tastendrucks festhalten. Es muß kein genauer Wert sein. Ich möchte eine zweite Funktion auf die Taste legen, die ich durch längeres drücken aktivieren kann. Folgendes Programm läuft nicht.......... Hatt jemand einen Tipp ? Danke !!! Do Do Taste = Getkbd(0) If Taste <> 16 Then Zeit = Zeit + 1 Tast = Taste Loop Until Taste = 16 Select Case Tast Case 0 To 9 : If I < 9 Then Frequenz = Frequenz + Str(tast) I = I + 1 If Beep = 1 Then Sound
-
Thread
Tiny13 : Problem beim Entprellen mit internem Pullup
Hallo! Ich bin ziemlicher Neuling auf dem Mikrocontrollergebiet und habe für mein Problem die Sufu und Google verwendet, aber keine Antwort gefunden. Ich bin auf ein seltsames Problem beim Tiny13 gestoßen: Meine Interruptgesteuerte Entprellung funktioniert für PB0 und PB1 tadellos. Wobei PB0 über einen externen 10 kOhm Pullup auf Vcc gezogen wird und PB1 per internem Pullup. PB4 ist nun vom Aufbau gleich geschalten wie PB1, also per internem Pullup auf Vcc, jedoch macht der Taster was er möchte. (Für alle Taster wird der selbe Programmcode verwendet, nur das DDR und PORT wird natürlich
-
Thread
Pollin-Board was muss ich alles noch bestellen
einfachsten ein Steckbrett und etwas 0,5mm2 Draht aus normalem YstY - Frage 5: was brauch ich um die Taster zu entprellen? am Pollin Board haut das ja nicht hin... Weitere Bauteile um das Tutorial durchzuarbeiten: -Potentiometer 1kOhm -LCD Display BstNr. 120 545 - Widerstand 50 Ohm - MAX232(N)
mal auf ein metall-teil legen, ohne dass es irgendwo eine ungewollte el. verbindung gibt. die tasten sind, wie bereits erwaehnt, sehr wohl verwendbar. einfach die Ko's weglassen u software maessig entprellen. schoene gruesse hans
-
Thread
Interrupt löst ungewollt aus
Bleiben da Taster drann? Wenn ja: Taster liest man nicht mit Interrupts ein. Schau dir den Atrikel [[Entprellung]] im Wiki an. Dort findest du genügend Ideen, wie man Tasten zuverlässig einliest. Taster schliesst
Ja nun funktionierts! Nun muss ich mir das mit dem entprellen noch anschaun. Vielen Dank!
-
Thread
Tastenabfrage mit Interrupts
Ok, hast recht. Funktioniert. Ausschlaggebend ist Taste Key1 auf B.1 Bei mir soll ja als Ausgabe eine 7-Segment Anzeige verbaut werden anstelle der LED's Wieso wird denn die while-Schleife permanent wiederholt? Auch wenn keine taste gedrückt ist.
Man kann auch hardwareseitig entprellen (hier aber nicht gern gesehn ;) *duckundweg*
-
Thread
Atmega Taster einlesen und in Register schreiben funktioniert nicht wie geplant
=. Wundert mich im Nachhinein, dass es überhaupt funktioniert. Meine Idee soweit: Funktion Taster Fragt ab einzelnen Taster ab und entprellt diesen auch gleich. Funktion Taster abfragen Schleife, die nacheinander die 8 Taster abfragt, den Rückgabewert dann in einem Array zwischenspeichert.
Ist noch nicht ganz fertig, aber funktioniert schon mal so weit. Was noch fehlt, die weiteren 2 Taster einbinden. Aber das denke ich, bekomme ich dann hin. Hab die Entprell-Routine, die mir vorgeschlagen wurde, verwendet, angepasst und eingefügt. Wundert euch nicht, wenn die Ports/Adressen bei dem
-
Thread
Alarmschaltung
nur Glühbirne. Dann möchte ich händisch auf "Aus" drücken. Im Falle des Timers wäre das der Reset-Taster. Im Falle des Auslösenser der Trigger-Taster. So habe ich den 555 als FlipFlop verstanden. Um deine Frage zu beantworten: Wenn ich nicht da bin, läuft der Alarm potentiell lange, bis ich zu Hause bin
Bartosz B. schrieb im Beitrag #6641418: > Die Potis, vor allem das rechte (R4) stellen Taster dar. Falls es sich um einen NC (normally closed) Taster handelt, kannst du ihn über einen 1k Widerstand parallel zum Elko C1 schalten. R3 und R4 haben dann keine Funktion mehr.
-
Thread
Einfache Schaltung mit 4094
schalter prellen das heist einmal Takten erzeugt vielleicht 50 Takte du musst den Taktschalter also entprellen.
Theorie vollständig richtig ist, also noch eins: Was mir überhaupt nichts sagt: Was bedeutet "Taster entprellen" ? Bzw. was muss ich dafür tun? Danke, Schandmaul p. s.: sorry, ich bin nicht der beste im Schaltplan-Zeichnen ;)
-
Thread
ROLOMotorsteuerug mittels optokoppler (MEGA8)
die Mainloop sehr einfach die Impulse zählen. Diese Routine ist eigentlich für das Einlesen und Entprellen von Tastern gedacht, macht dies aber so effizient, dass man auch andere Aufgaben damit erschlagen kann. 2. Falsch... Während eines Interrupts einen Interrupt abfragen? Damit kann ich nicht viel
Ich habe es schon anfangs geschrieben, zerlege dein Projekt in einzelne Teile. Beginne mit Taste drücken, entprellen, LED leuchtet, ein Zähler zählt langsam hoch bis zu einem Wert, LED geht dann aus und so weiter bis du alle Teile beisammen hast. So kannst du dir alle Übungsbeispiele Projektnahe
-
Thread
XC164-asssembler_schalter_entprellen
R0.0, P4.3 bmov R1.0, P4.3 compare: cmp R0, R1 jmp cc_eq, poll entprell: sub R3, #1 cmp R3, #0 jmp cc_ne, entprell jmp cc_eq, led bmov R0.0, R1.0 ;wird dies hier überhaupt einmal bmov R1.0, P4.3 ;durchloffen?Die beiden jmp befehle
sich Intervalle von 5 ... 50ms bei einer 4-fach Abtastung als optimal erwiesen. Bequemer Weise entprelle ich immer einen ganzen Input-Port, auch wenn ich nur eine Taste davon benutze. Dadurch bin ich flexibel und brauche nicht für jede Taste eine eigene Entprellung. C oder AVR-Assembler: http://
-
Thread
Taster Entprellung mit Monoflop
Tasten entprellen.
>Normal genügt ein Widerstand (auch der µC interne) um einen Taster >anzuschließen, sicher (100%) richtig zu erkennen und auszuwerten, alles >andere ist historisch, überholt, und Bockmist. Na na, oft sind die Taster abgesetzt von der Hauptplatine, da ist zusätzliche
-
Thread
Problem mit AT89LP4052 (COM Schnittstelle)
Das ist ne blöde Idee, immer den ganzen Port auszuwerten, wenn es doch nur ein Pin sein soll. Tasten fragt man deshalb so *nie* ab, sondern mit Bitmasken: [c] if( taste & 1<<0 ) // mache was .. if( taste & 1<<1 ) // mache was .. // usw. [/c] Will man noch Entprellen und Flankenauswertung,
ne blöde Idee, immer den ganzen Port auszuwerten, wenn es doch > nur ein Pin sein soll. > > Tasten fragt man deshalb so *nie* ab, sondern mit Bitmasken: > [c] > if( taste & 1<<0 ) // mache was .. > if( taste & 1<<1 ) // mache was .. > // usw. > [/c] > > Will man noch Entprellen und Flankenauswertung
-
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
immernoch taster abfragen auf 2 arten
aber nur dan Wechsel zu Gedrückt ausgewertet. Ich habe auch nur einen Wiederhohlzähler für alle Tasten gemeinsam verwendet. D.h. wenn man eine Taste drückt, bevor man die andere losläßt, wird diese auch als lang gedrückt ausgewertet. Bei langem Druck, wird bei mir der gleiche Tastenkode wiederholt
Variablen "ct0" und "ct1" bilden 8 Stück 2-Bit-Zähler, d.h. Sie können bis 4 Zählen und dienen dem Entprellen. D.h. "key_state" übernimmt das Tastenbit erst, wenn es 4-mal hintereinander der entgegengesetzt Zustand war. Vielleicht solltest Du erstmal nur mit dem Entprellen anfangen, z.B.: http://
-
Thread
probleme mit der tastenentprellung C-Programm
wird mit einem Drehschalter eingestellt - also z.B. auf 10 Sekunden Gestartet wird mit einem Taster Gestoppt wird das ganze mit dem selben Taster - im Großen und Ganzen funktioniert das ganze auch - bis auf die Tastenentprellung Kann mir jemand den Fehler im Progamm zeigen?? Schon
Falscher Quelltext? Denn was macht der Code, ausser dass unter bestimmten Bedingungen taste auf 1 gesetzt wird? Ich sehe keine Wirkung im Hauptprogramm und auch kein Zurücksetzen von taste. Und ist sichergestellt, dass der Drehencoder nicht prellt?
-
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
2-Stellige 7-Segment Anzeige im Multiplexbetrieb
praktisch funktionieren oder nur im Simulator den Eindruck erwecken? In der Praxis muß man nämlich die Tasten entprellen. Peter
Peter Dannegger schrieb im Beitrag #2904934: > In der Praxis muß man nämlich die Tasten entprellen. Tasten ja, Dip-Schalter eigentlich nicht.
-
Thread
Backlight in 4 Stufen schaltbar ausführen ohne µC
Du kannst einen CD4017 nehmen. An dessen Takteingang schließt Du den Taster (mit 100nF Entprell-Kondensator und Pull-Down Widerstand) an. Ich bin nicht 100% sicher, ob ein simpler Kondensator reicht, aber so würde ich erstmal versuchen. Denn die Alternative wäre ein Schaltung
muss meine Ansteuerschaltung für diese 4 Steuerleitungen (an den > Schaltern) nun aussehen 1. Taster prellen. Du musst also entprellen. VCC | 4k7 | 74HC14 +-100k-+--|>o-- | | Taster 100n | | GND GND 2. Zähler fangen nicht bei 0 an. Du musst also dafür
-
Thread
peda entprellen mit mehr als 3 Tasten
Hallo, wie ist es möglich, den Entprellcode von peda mit mehr als 3 Tasten zu benutzen? Obendrüber steht ja "Debouncing 8 Keys" also wirds gehen, aber bei den Defines gibt nur KEY0, KEY1 und KEY2. Ist bestimmt ganz einfach ;)
-
Thread
attiny13 mit Tasten programmieren
Hallo, aus Interesse habe ich mich mit der ISP SPI-Programmierung eines ATtiny13 20-PU mit Tasten beschäftigt. -> www.elektronik-labor.de/AVR/KursAssembler/T13asm13.html Ich habe die Tasten korrekt entprellt, MISO antwortet richtig auf die Anfragen. Alles mit 5V durchgeführt. Programmieren wollte
da ich mich mit diesem Thema interessen halber mal befasst habe. Also es gibt keine prellfreien Taster, selbst „Impulstaster“ haben bei mir öfters Probleme verursacht. Darum habe ich mir ein kleines Tool entwickelt: http://www.elektronik-labor.de/AVR/KursAssembler/T13asm13.html (ganz unten „P1-
-
Thread
Drehencoder in Bascom
umsetzt. Dann können zukünftig zumindest die BASCOMer, die mit einem Timer umgehen können, bis zu 8 Tasten eines Ports vernünftig und effizient entprellen und auf die Flanken reagieren. ...
Compiler die Übersetzung, denn der AVR kann ja nur Maschinencode (1 zu 1 zu ASM)... Für das Entprellen von Tasten rufe ich die Routine im Timer-Int. etwa alle 10..20 ms auf. Auch für Drehgeber habe ich diese Routine schon benutzt, da habe ich sie alle 1 ms aufgerufen. Dabei habe ich in der Mainloop
-
Thread
Tasten Problem
Hallo, ich habe diese Taster in meiner Schaltung verbaut: TASTER 3301D Bei Reichelt: http://www.reichelt.de/?SID=20Ctu806wQARQAAEeXKgY3321b41fe5c8c98f266acc75369ce10d;ACTION=3;LA=4;GROUP=C223;GROUPID=3278;ARTICLE=27894;START=
Was sagt denn dein Voltmeter, wenn du es an den µC Pin hältst und den Taster drückst? Vielleicht ist ja auch der Taster defekt. Soll schon vorgekommen sein.
-
Thread
Interrupt INT0/INT1 bei Atmega8
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#.28Tasten-.29Entprellung
das ist das Problem,........ Tasten niemals mit Interrupt entprellen oder Abfragen !! Gibt nur Ärger !! Oder wieviele Interrupts löst Deine Taste aus ?? Die "Nebensache" fängt eben im Detail an !!
-
Thread
Bestätigungston für Tasteneingabe - in Interrupt oder Abfrageroutine?
10ms oder 5ms) ein Flag setzen, Im Hauptprogramm Flag abfragen, wenn gesetzt: Flag löschen, Tasten abfragen, entprellen und wenn Taste erkannt Bestätigungston auslösen ggf. auch auf "Taste gültig" beschränken (wobei mir das Gepiepse auf den Keks geht) Restliche Schritte vom Programm ausführen
10ms oder 5ms) ein Flag setzen, > Im Hauptprogramm Flag abfragen, wenn gesetzt: > Flag löschen, Tasten abfragen, entprellen und wenn Taste erkannt > Bestätigungston auslösen ggf. auch auf "Taste gültig" beschränken > (wobei mir das Gepiepse auf den Keks geht) > Restliche Schritte vom Programm ausführen
-
Thread
Tasteneingänge ohne Funktion?!
Hi, ich rätsel seit gestern an einem Problem, welches das funktionieren meiner Tasten verhindert. Habe einen Mega8 bei welchem je ein Taster an PD5, PD6 und PD7 hängt. An PB0, PB1 und PB2 hängt je eine LED. Die LED's leuchten auch schon schön wenn ich sie mit nem Delay an und ausmachen
ziemlich witzlos, wenn Betätigungen nur beim Power-On erlaubt sind. Versuch einfach mal, nur eine Taste zu entprellen und eine LED damit zu togglen, bis es auch wirklich fehlerlos funktioniert, egal wie lang oder kurz jemand drückt. Dann schmeiß es weg und nimm die Bulletproof Methode aus dem Tutorial
-
Thread
Frage zu C Syntax
Tach tach, och arbeite gerade das Kapitel Tasten entprellen durch (http://www.mikrocontroller.net/articles/Entprellung) und bin auf folgende Zeile bei Herrn Dannegger in der Komfort-Routine gestoßen: [c] TCNT0 = (uint8_t)(int16_t)-(F_CPU / 1024
tsag schrieb im Beitrag #4293325: > och arbeite gerade das Kapitel Tasten entprellen durch und du bist der Ansicht, daß es eine Programmier-Frage sei? Nein, ist es nicht. Es ist ein logisches Problem, das eigentlich völlig unabhängig ist von jeglicher Programmiersprache