-
Thread
DA Wandler an Atmega 8 mit hohem I out
Hallo, die Zeitschleifen wollte ich nicht zum entprellen benutzen sondern um ein langsames hochzählen der Fahrstufen bei betätigter taste zu erzeugen. >Lass den DAC wie er ist. Beschäftige dich lieber damit, wie du aus den 0 >bis 5V eine Spannung
Stefan Waiblinger schrieb im Beitrag #3353024: > Hallo, die Zeitschleifen wollte ich nicht zum entprellen benutzen > sondern um ein langsames hochzählen der Fahrstufen bei betätigter taste > zu erzeugen. Nochmal. Benutz eine ordentliche Entprellung wie die angegebene. Dann brauchst du den
-
Thread
STM32 EXTI-Entprellung mit HAL
bei 2 Interrupts für 8 Tasten (AVR) bzw. 32 Tasten (ARM).
der Fall sein sollte), entprellt man per Hardware (RC-Glied und Schmitt Trigger, oder spezielles Entprell-IC)
-
Thread
Ralais als IC mit einem Taster
Hallo an Alle :) gibt es eigentlich ein Relais oder IC der mit einem Taster geschlossen wird und somit einen Stromkreis schließt um eine LED zum Leuchten zu bringen und auch diesen Zustand beibehält wenn der Taster losgelassen wird und wenn der Taster erneut gedrückt wird
FM1107, FM1110, FM1114 (RamTrom FERAM) Reicht auch um eine LED zu steuern. Blöderweise muss man den Taster entprellen und steuern.
-
Thread
EIN-AUS mit Taster per Interrupt, ATtiny25 o.ä.
Wiederholt tauchen hier Fragen auf, wie man per Taster eine Schaltung Ein/Aus schalten kann. Wie muß der Taster entprellt werden, und nimmt man ein Flip-Flop, zwei NAND-Gatter, welche RC-Kombination oder nicht doch besser einen µC? Das Programm 'on_off
die Software. Wie oben schon angedeutet sollten mechanische Tasten nicht zu hochohmig beschaltet werden. Normalerweise haben Taster auch einen minimalen Strom in den Datenblättern stehen. Wenn die Taster relativ niederohmig angebunden sind, kann man das Entprellen
-
Thread
Probleme mit Taster
Hi, ich habe an den µC einen Taster mit 10k Pullup angeschlossen. In der main aktiviere ich den Interrupt outp((1<<INT0), GIMSK); //int0 einschalten outp((1<<ISC01), MCUCR); //falling edges sei(); Wenn der Interrupt
Hallo M, der Taster prellt, d.h. er schliesst und öffnet ganz kurz hintereinander ein paar mal. Je nachdem wie schnell Deine Erkennungsroutine ist, bekommst Du 2 oder mehr "Erkennungen". Lösung ist möglich, indem eine
-
Thread
Wartezeiten effektiv (Scheduler)
KEY5 ) ) { //0xFF ^= 1<<PG0; // toggle LED2 on key press uputs0("Taste gedrueckt!"); } } [/c]
ich stelle mich mal wieder zu Blöd an. Ich bekomme den Code nicht ans laufen. Ich habe zwei Taster an PC2 und PC3 und zwei LEDs an PC4 und PC5. Ich bekomme den Code nicht so abgeändert das dieser läuft. Ich habe auch noch nicht kapiert welchen Taster er in dem Code benutzt, vielleicht kann mir
-
Thread
Anemometer an Atmega 8 / 168
wer hierfür eine Schaltung? Du findest entprell-Schaltungen hier in diversen Tutorials zum anschließen von Tastern etc. > Was mich verwirrt ist das das Anemometer 24V braucht. Ich Brauche > nachher aber 5V am µC also wie Realisiere ich das?
hervorgeht handelt es sich "nur" um einen Schalter. Im Zweifel also genauso anschließen wie einen Taster. s.o.
-
Thread
Tastenenprellung ok ?
Hallo zusammen! Bei einem mC-Programm in Assembler muss ich 32 Eingänge respektiv Tasten entprellen. Es ist von grosser Wichtigkeit dass die Entprellung 100% funktioniert. Die Abarbeitungszeit der Entprellroutine muss nicht wahnsinnig schnell sein. Die 32 Eingänge sind über Latches am
die Prellzeiten so im Bereich 1ms ... 10ms liegen. In der Codesammlung ist ein Beispiel für 8 Tasten (bulletproof), einfach dann 4-mal ausführen für 32 Tasten. Peter
-
Thread
Problem mit GPIO Taster (LPC2478)
Hat der Taster einen Pull-up oder Pull-Down? Falls Pull-Up ist der Pin ja Default High, und wird durch Drücken auf Low gezogen, dann musst Du 0 abfragen. Danach ein Delay zum Entprellen.
Vielen Dank für die schnelle Antwort. Daran habe ich auch schon gedacht. Taster geht über Pullupwiderstand. Angenommen, ich würde den Taster drücken und gedrückt halten, hätte ich ja ein andauerndes LOW-Signal anliegen. Lade ich daraufhin das Programm (mit gedrücktem Taster) neu
-
Thread
Hilfe Sketch für Ironmankostüm.
; Servo servoblau2; unsigned long tasterZeit = 0; unsigned long entprellZeit = 10; unsigned long ledMillis = 500; void setup() { servoblau1.attach(6); servoblau2.attach(9); pinMode(ledPin1,OUTPUT); pinMode(ledPin2,OUTPUT); pinMode(ledPin3,OUTPUT); pinMode(tasterPin,INPUT); } void loop() { tasterStatus = digitalRead(tasterPin); if (tasterStatus == HIGH) { tasterZeit = millis(); tasterGedrueckt = 1; } if ((millis() - tasterZeit> entprellZeit
-
Thread
Assembler Programm funktioniert im Simulator aber nicht in der Praxis
fehlerfrei schreiben. Jetzt bin ich mit meinem Latein am Ende. Ich möchte mit einem kleinen Taster eine Kreislauf starten. Wenn der Taster S1 (PB2) betätig wird, soll eine grüne LED (PB4) kurz aufleuchten, um zu zeigen, dass der Kontakt vom Taster (PB2) erkannt wurde. Dabei soll das Programm kurzzeitig
noch ausbaufähig :-) Ich habe mir im Netz verschiedene Herangehensweisen angeguckt, wie ich einen Taster entprellen kann. Die Herangehensweisen waren einleuchtend, nur an der Umsetzung bin ich bisher nicht vorrangekommen und mein Gedanke war, dass sobald am Taster ein Signal kommt, egal wie oft, soll
-
Thread
CMOS Logic Gatter + JK MS Verständnissfrage
H.Joachim S. schrieb im Beitrag #5767540: > Clock mit nem Taster einzutippen, ist nie ne gute Idee. Viele Flipflops der 4000er Reihe haben Schmitttrigger-Eingänge. Dann kann man recht einfach Taster entprellen. Allerdings ist das teilweise von Hersteller zu
Sebastian T. schrieb im Beitrag #5768020: > Den Taster habe ich nur zum testen da. Leier liefert der bei jeder Betätigung durch das Kontaktprellen rund ein Dutzend Impulse und die ICs sind schnell genug die auch zu zählen. Du musst also entprellen.
-
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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 ;)