-
Thread
Allgemeine Frage EXTI IRQ -> LED ändert sich willkürlich
Ist der Interrupt flankengesteuert oder statisch? Im 2. Fall würde der Interrupt solange andauern/wiederholt werden, wie die Taste gedrückt ist. Gruß Dietrich
einfach mal nach Interrupt Taster und Prellt hier im Forum: http://www.mikrocontroller.net/search?query=interrupt+taster+prellt
-
Thread
Taster - externen Interrupt Problem
er auch da reinspringt. Nur leider tut das Programm mir nicht den gefallen. Ich weiß das der Taster prellt, und habe deswegen in der ISR die ext. Interrupts abgeschaltet, die externen INTpins als Ausgang geschaltet und zusätzlich die entsprechenden Flags gelöscht, da sonst ja wieder ein neuer ISR
ALso Taster geht, die 2.Anzeige die an PD5 hängt geht aus. Ich vermute dadruch das mein Taster nicht so dolle prellt das ganze von Dannegger nicht funktioniert. ..Vermutung
-
Thread
Mehrere Buttons an einem Interrupt Pin
Sobald so ein Taster prellt, wirst du deine Freude mit deinem externen Interrupt haben, weil du diesen dann z.B. gleich dreimal aufrufst. Ich war ganz am Anfang auch so wie du, ich war der Meinung, das geht schon, und
@Dennis H.: Ich habe sonst immer Taster an Interrupts, aber diesmal ist das Problem, dass ich zu wenig Interrupts frei habe. Und sonst hatte ich auch nie ein Problem. Ich hatte immer folgenden Ablauf: Taster gedrückt -> Interrupt aufgerufen
-
Thread
Tachomessung Vorderrad, Lichtschranke, Reed-Switch, Hall-Sensor
ein Loch der Bremsscheibe geklebt. Das Problem ist einfach, dass der Reed-Sensor viel zu boese prellt und ich auch mit hoeren Drehzahlen arbeiten muss (Richtung 40Hz), wobei das Interval zwischen zwei Schliessungen dann nur noch 25ms betraegt. Ich bekomm schon bei langsamer Fahrt meistens 2 Impulse weil der Switch beim oeffnen auch noch nen paar mal hin und her prellt. Das bekomme ich nur weg, indem ich das Interval, in dem Impulse akzeptiert werden noch weiter vergroessere und dann laeuft ab 140kmh oder so nix mehr.... Zur Info, es geht um diesen Switch: http
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil5)
ein Netzteil sein welches den FPGA versorgt? Wie war nochmal die Tastenkombi für einen Neustart, Taste 2 und danach Taste 1?
> Ist das ein Architekturproblem? Nicht direkt! Es handelt sich vielmehr um konkurierende Interrupts. Der Timer-Interrupt des Popup Timeouts (schönes Denglisch) konkuriert hier mit dem Interrupt des Rotary Interface (Drehgeber-Interrupt). Letzterer unterbricht die Bildausgabe und damit auch die
-
Thread
Problem mit Schieberegister und steigende Flanke
Das der Taster prellt ist ausgeschlossen?
kümmern, wenn sich die Mainloop-Durchlaufzeit ändert. Besser, man nimmt einen Timerinterrupt zum Tasten einlesen und muß sich nie wieder damit abquälen. Das Main kriegt die entprellte Taste auf dem Silbertablett geliefert. Weiterer Vorteil, es können bis zu 8 Tasten entprellt werden, ohne das der Aufwand
-
Thread
MSP430 Schalterentprellung Not vs. Elend
== 3 && (P2IN & BIT1) ) //Taster losgelassen { zustand = 0; } } void htaster(void) { static unsigned char zustand; if(zustand == 0 && !(P2IN & BIT2) ) //Taster wird gedrueckt (steigende Flanke
gewissen Zeitabständen nachzusehen, ob sich der Zustand stabilisiert hat. Mach ich das zu schnell, dann prellt der Taster noch, während ich hinsehe. So gesehen ist deine Zustandsmaschine, wenn man sie zu schnell auswertet, eigentlich gar keine definierte Entprellung, sondern ein Mechanismus, in dem du das Drücken
-
Thread
5 Tasten am ADC
******************************************************************************* * Interrupt Service Routine: TIMER1_COMPA * * * * *Aufgabe: Der Vergleichswert von Timer1 (OCR1A) ist so gewählt, daß er alle 4msec * ereicht wird und auch zum Entprellen von Tasten genutzt werden
. Das funktioniert bei mir in verschiedenen Varianten (Timer-Interrupt, ADC-Interrupt) mit bis zu 16 Tasten (mehr müsste auch gehen, habe ich aber noch nicht probiert) ohne Probleme. Allerdings in ASM. ...
-
Thread
Problem sleep Mode - Attiny25/45/85
Peter Dannegger schrieb im Beitrag #2233613: > - Interrupt Handler fehlt ist sicherlich nicht optimal geschrieben :) [c]/***********Interrupt Taster******************/ ISR(INT0_vect) // Interrupt Vector { long_delay(50);
if(sw==0){ }else{ } }else if(counter>10){choose++;if(choose>7){choose=1;}else{}}else{}// Taster ca. 0.5 sek gedrückt für Moduswechsel ? counter=0; // zähler zurücksetzten long_delay(10); // }//end ISR /***********Interrupt Taster End******************/ /***********Interrupt
-
Thread
Zähler zählt falsch
Tasterentprellung (http://www.mikrocontroller.net/articles/Entprellung). Aber wieso funktioniert der Interrupt bei mir nun nicht sauber? Der µC bekommt eine saubere Flanke und sollte doch nur einmal zählen.
freien Pin und toggle den in der Interruptschleife. dann kannst Du feststellen ob es ein Problem im Interrupt (oder der Initialisierung) ist, oder eher beim Anzeigen der Werte. Pullup am Portpin nicht vergessen.
-
Thread
c18 Bit Verschiebung
> aber er schiebt um 2 ... woran kann das liegen? Ich denke mal es liegt daran, dass dein Taster prellt. Es gibt keinen Grund Taster über einen Interrupt anzuhängen (ausser wenn der INterrupt den µC aus dem Tiefschlaf holen muss). Ganz normales Pollen reicht völlig aus. In Kombination mit
sieh's doch ein: beim drücken, wird ein interrupt ausgelösst und korrekt abgearbeitet (um 1 shiften). da der taster prellt, wird ein zweiter interrupt ausgelösst, der nochmals um 1 shiftet. dies geschieht so schnell, dass du glaubst, es wäre nur
-
Thread
Schrittmotor mit Atmega 8 warum geht PD0 als Eingang nicht?
> Was hat Delay damit zu tun? damit dreht er der Motor schnell oder > langsam. So lange die Taste noch prellt auch mehrfach mit Pause zwischendurch ;)
solange die Taste gedrückt ist/prellt.
-
Thread
Externer Interrupt
Hallo, ich arbeite gerade den AVR-GCC-Tutorial durch. Bei den Interrupts komme ich nun nicht mehr weiter. Ich hab versucht in ein bereits bestehendes (funktionierendes) Programm einen externen Interrupt einzubauen. Ein Lauflicht soll dabei vom Interrupt unterbrochen werden
> mehrmals nacheinander. Hmm ja irgendwie logisch...aber ich dachte es gäbe Probleme wenn Interrupts auftreten bevor der letzte Interrupt abgearbeitet wurde? Aber wenn ich es mir jetzt genau überlege werden dann wohl einfach Interrupts übersprungen, was in diesem Fall egal wäre. Aber ich würde meinen
-
Thread
Taster Softwaretechnisch entprellen
Prellt noch immer ^^.
Na mit Warteschleifen. Warscheinlich stellen sich sogar dem Taster die Nackenhaare auf... doch Gast
-
Thread
Drehencoder mit AVR will nicht so wie ich gern will
und so entscheiden ob gedreht wurde, und wenn ja in welche Richtung. Ein Drehimpulsgeber prellt genau so wie ein normaler Taster ich vermute das dein Programm das nicht berücksichtigt und aufgrund des Prellens irgendwelche entscheidungen trifft. wie lange wartest du bist zum nächsten abfragen
Tasters steht im Tutorial sogar in Assembler ! http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
-
Thread
Tasterentprellung
Die Ursache, der prellende Kontakt, der läßt sich nicht beseitigen! Ein Taster prellt immer beim Schließen. Ist ein mechanisches Problem. Der einer Kontakt wird mit Kraft gegen den anderen bewegt, schlägt auf und federt zurück. Alternativ müsstest Du einen Taster bauen, dessen
Drüberstreuen noch einige Vorteile: Das Ding übersieht garantiert keinen Tastendruck (solange Interrupts aktiviert sind), kann zwischen langen und kurzen Tastendrücken unterscheiden und auf Wunsch krieg ich auch noch einen Autorepeat auf der Taste (eine von mir besonders bei Inkrement/Dekrement Funktionen
-
Thread
welchen Reset IC verwenden
mit den üblichen Maxim-Beschaffungsproblemen. Vielleicht kann man aus dem DS1834 was bauen (RC-taster am 3.3V Eingang).
Hi Wozu soll das eigentlich gut sein? Den Reset interessiert es nicht, ob der Taster prellt. Und mit 2 Dioden + Pull-Ups kann ein TL7705 auch 2 Eingänge bedienen. MfG Spess
-
Thread
ATtiny 13 Eingang wird zu langsam erkannt
überspringe naechsten Befehl, wenn Ausgang PB3 gesetzt rjmp Abfrage3 ldi rmp,(1<<ISC01) ; Interrupt INT0 bei fallender Flanke out MCUCR,rmp ldi rmp,(1<<INT0) ; externen INT0 einschalten out GIMSK,rmp Du sperrst den Interrupt solange du den Taster gedrückt hältst, damit der Interrupt erst dann wieder ausgeführt wird, wenn die Taste losgelassen und erneut gedrückt wird. Richtig? Das Problem ist, daß nach dem Loslassen der Taste, diese wie verrückt prellt und erneut einen Interrupt während des Loslassens ausführt. Du musst
-
Thread
MSP430 1.Takt per Taster an LED
Der Taster prellt wahrscheinlich. Siehe hier: http://www.mikrocontroller.net/articles/Entprellung
nicht hinbekommen. Aber wie immer gibt es mehrere Lösungswege. Ein anderer Lösungsweg ist wohl den Taster einen Interrupt auslösen zu lassen und in der Interrupt Service Routine den Ausgangs-Pin (LED) zu togglen. das habe ich hier gefunden: http://www.egarante.net/2010/09/msp430-launchpad-tutorial-part
-
Thread
PWM mit Poti steuern, Problem im Code
define F_CPU 8000000UL /* Quarz mit 8 Mhz */ #endif #include <util/delay.h> #include <avr/interrupt.h> // fuer Interrupts // Potis: ADC0, ADC1 = PA0, PA1 // Poti-Wechseltaster: INT0 = PD2 // Potis ein/aus: INT1 = PD3 // Taster aktive high: Pin mit GND verbinden // PWM: OC1A = PD5 //
Eingänge werden nicht in Interruptroutinen abgefragt... :-o Oder was soll das Herumgemurkse mit den Interrupts bewirken? Für mich willst du da offenbar mit einem Taster den Zustand umschalten. Wehe, wenn der prellt... Und wenns unbedingt so sein muß, dann kannst du das auch so schreiben: [c] ISR( INT0
-
Thread
Motoren lösen immer einen Interrupt über einen silberlegierten Taster aus
Störung induziert durch die Ströme die bei deinem Motor fließen (vermutlich anlaufstrom). Ein Taster direkt an einen Interrupt ist sowieso nicht zu empfehlen, da wenn der Taster prellt der Interrupt gleich mehrfach aufgerufen werden kann.
Spannungsabfall auf der Masse Leitung (Strom des Motors) ein Schalten unmöglich wird. > Ein Taster direkt an einen Interrupt ist sowieso nicht zu empfehlen, da > wenn der Taster prellt der Interrupt gleich mehrfach aufgerufen werden > kann. Taster am Interrupt geht schon. Wenn der Int auslöst
-
Thread
ATtiny13a ADC funktioniert nicht
Timer an PB0 eine LED mit PWM zum Blinken gebracht und kann die Blinkgeschwindigkeit über einen Taster IRQ-gesteuert an PB2 ändern. Funktioniert so weit auch wenn der Taster prellt und die Einstellung etwas unkomfortabel ist. Habe mir aber gedacht, den ADC mit einem Poti (50k) an PB4 (ADC2) mit verschiedenen
//ADCSRA = 0b0000.x000; #3 ADC Interrupt Enable Das wird ja nie gesetzt, also auch kein Interrupt ausgelöst. Grüße, Peter
-
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
ein völlig unnötiges und nutzloses Warten in einer ISR. Nur hilft dir das nichts, denn wenn der Taster prellt, wird der nächste Interrupt vom prellenden Taster angestossen. Ob du nun in der ISR wartest oder nicht. [[Entprellung]] Und definier deine Ausgabepuffer nicht so knapp!
-
Thread
Einstieg in der MicroController Welt
einen Atmega8 mit einem EVAL-Board. Dort fängst du mit den einfachsten Dingen wie LED ein/aus, Interrupt, Timer oder UART an. Mach am besten die Tutorials die du hier findest durch. Die Sachen die du mit dem AVR lernst kannst du, wenn du eventuell später auf PIC umsteigst, wiederverwenden.
Teilkomponenten schon funktionieren. Dabei hab ich meine Aufgabe in Teilbereiche zerlegt: - Abfrage von Tastern -> klappt - Displaysteuerung -> klappt - Abfrage der ADC-Ports -> klappt - Umwandlung Drehzahl in Spannung -> klappt Ich muss die Teilaufgaben also nur noch zusammenbringen. Ich finde immer
-
Thread
Letzter Hilferuf AT91SAM7S - PWM oder PCK
Hi, bei dieser Geschichte brauchst du keinen Interrupt das macht der Timer alles alleine! also fangen wir an einen Timer einzustellen. Was haben wir: - Main-Clock -> 18,432 MHz - 3 Timer zur Verfügung -> wir nehmen T0 Pin TIO_A - 5 Interne Taktquellen
SID und HD44780 sind zusammengelegt. Ich habe nicht mal mehr Lust gehabt, einen zusätzlichen Taster anzulöten. Dann habe ich mich entschlossen, wenn beide Taster gedrückt sind, das dann als "Enter" zu interpretieren. Funktioniert auch gut, nachdem die Auswertung erst stattfindet, wenn beide Taster
-
Thread
Schaltungsentwurf - Fehlerfrei?
kleinen Glitch unregelmäßig erzeugen, der anderswo stört, und im ungünstigsten Fall ist er als Interrupt oder als Schnittstellenpin konfiguriert.
wunderbar. Mit dem ICP könntest du die Impuls-Länge messen, zum Zählen der Pulse tut's der INT-Pin. "Prellt" der Hallsensor eigentlich, oder hat der immer ein schön sauberes Signal?
-
Thread
(narren-)fehler in code - hilfe?
hallo zusammen, ich suche den fehler in diesem code, den ich (möglichst einfach) zum lernen mit Interrupts umzugehen geschrieben habe. Es sollte passieren: Blinken der led in ihrer 1. frequenz bis taster gedrückt wird, dann in der 2., bis er erneut gedrückt wird (wieder die erste) usw. es wird immer
Pollin_Funk-AVR-Evaluationsboard#Suppentimer Das Prellen spielt dort keine Rolle, weil nur das einfache Wecken per Interrupt implementiert wird. Dann ist es egal, ob die Wecktaste prellt. Wach ist wach. Das Schlafenlegen kann dann mit einer regulären Tasteneingabe oder mit einem Timeout (Suppentimer) gemacht werden.
-
Thread
Reaktion auf Tasterereignis in zeitlich unkritischem Programm
Da ich jetzt nicht vorraussagen kann, wann T1 betätigt wird, habe ich überlegt das ganze über Interrupts zu steuern. Sprich es soll auf eine steigende Flanke an T1 gewartet werden. Nun habe ich aber gelesen, dass ein Interrupt nicht über einen Taster ausgelöst werden soll, da durch das prellen der Interrupt ja öfter ausgeführt werden würde. Gleiche Frage wie oben: Wenn F1 länger dauert, wie T1 prellt und während F1 keine Interrupts zulässig sind, ist es doch unkritisch, den Interrupt auf T1 zu legen
-
Thread
INT0 Interrupt wann?
Obwohl ich im MCUCSR Register die Einstellung "The rising edge of INT0 generates an interrupt request" gesetzt habe, wird der Interrupt beim Einlegen der Spannung und beim Wegnehmen der Spannung aufgerufen! Warum???
Beitrag #1807301: > Ich lege die Spannung mit einer Drucktaste an. Dachte ich's doch. Dein Taster prellt. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten#Prellen Hast du wenigstens einen Pulldown-Widerstand? Ein Eingang, der in der Luft hängt, hat keinen besonders gut definierten
-
Thread
XMega Compare Timer
Man muss den Port konfigurieren, dass er auf gewisse Ereignisse > reagiert! > > z.B. eine Taster (steigende oder fallende Flanke) Der Interrupt reagiert auf beide Flanken, deshalb die Abfrage. Wenn der Schalter eingeschaltet wird, soll es eine Zeitverzögerung geben, wenn der Schalter abgeschaltet
ala42 schrieb im Beitrag #1807966: > Wenn der Schalter prellt, wird sich die Logik sicherlich anders > verhalten als Du das erwartest. Danke für die Antwort. Dann müsste der interrupt aber von vorne beginnen und die Zeitverzögerung würde sich in die länge
-
Thread
C-Funktion zum Entprellen eines Anfängers
verbessern und kritisieren. [c] int Entpreller(int Pin); // Entprellfunktion einbinden #define Taster PORTEbits.RE2 //Taster definieren int TasterBit =0; // Bei Beginn wird der Taster als nicht geschaltet angenommen, besser Lösung? =Taster gibt Fehler /** D E C L A R A T I O N S **********
wurden bereits erfunden. [c] int Entpreller(int Pin); // Entprellfunktion einbinden #define Taster PORTEbits.RE2 //Taster definieren int TasterBit =0; // Bei Beginn wird der Taster als nicht geschaltet angenommen, besser Lösung? =Taster gibt Fehler /** D E C L A R A T I O N S **********
-
Thread
Power Switch
Tiny15V so hinbekomme. Was das Programm tut: Der Tiny schläft die meisste Zeit. Sobald der Taster >0.7s gedrückt ist wird der Ausgang aktiviert. Falls der Taster dann nicht innerhalb 2s losgelassen wird wird der Ausgang wieder deaktiviert. Falls der Ausgang aktiv ist muß man den Taster 0.7s
dann nicht weiter prellt, dann würde die CPU doch schlafen bis ich den Taster loslasse, oder werden durch GIMSK = 1<<PCIE vorher aufgelaufene Interrupts abgearbeitet? Udo
-
Thread
Wie lange prellt ein Taster in der Regel?
hat... Zudem hat sie das Problem, daß die Schleifen, die die Prellzeit beheben sollen, von allen Tasten gleichzeitig verwendet werden, also nicht jede Taste einzeln entprellt wird, sonden so lange eine Taste prellt, verhindert sie daß die anderen Tasten erkannt werden. Falls du also fragst, was Maxim
, Hier gibt es keine Schleifen, die Prellzeit beheben sollen. > von allen Tasten gleichzeitig verwendet werden, also nicht jede > Taste einzeln entprellt wird, sonden so lange eine Taste prellt, > verhindert sie daß die anderen Tasten erkannt werden. Nein, die Tasten werden
-
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 ....
interne Tuerstatus auf HIGH gesetzt.. das selbe fuer LOW... Der Tacho geht auf einen Pin der einen Interrupt ausloest, es wird ein Zaehler inkremitiert und der Wert jede Sekunde abgefragt und dadurch die Geschwindigkeit ermittelt. Als Zeitbasis wird das empfangene GPS Telegram verwendet das dies jede Sekunde
-
Thread
Tastenanschläge zählen in c (ATMEGA32)
deklarieren. Dann fiel mir auf, das du im Code überhaupt keine Entprellung hast! Ein real existierender Taster prellt aber immer! Ein Tastendruck prellt etliche male nach, so das du diesen einen Tastendruck 10, 20mal zählst. Ist ist deshalb nicht besonders klug den Taster direkt einen Interrupt auslösen
, - 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
Entprellen..schon alles versucht..Atmega zu schnell?
Weine nicht, wenn Dein Taster prellt, DAMDAM, DAMDAM nimm ein Schütz, das sich selber hält, DAMDAM,DAMDAM Elko, LED, Platine bricht, aber der Kontroller nicht... ;-) MfG Paul
Paul Baumann schrieb im Beitrag #1701975: > Weine nicht, wenn Dein Taster prellt, DAMDAM, DAMDAM > nimm ein Schütz, das sich selber hält, DAMDAM,DAMDAM > > Elko, LED, Platine bricht, > aber der Kontroller nicht... > > ;-) > MfG Paul LOL!!!! wo kann ich das
-
Thread
Verständnissfrage zu ENTPRELLUNG.
unter 20ms hinzubekommen und zwar OHNE delays. Deswegen dann auch die Interrupts die den µC nicht "anhalten". Das würde dann praktisch bedeuten das wir einen Taster 4 mal innerhalb z.b. 20ms abfragen und bei einer Folge von 1 0 1 0 einen Tastvorgang registrieren. - Sind
Ähmm, ohne die Funktion jetzt angeschaut zu haben: die Entprellung eines > Tasters bzw. mehrerer Taster sind doch wirklich absolute Basics. Was viele aber nicht einsehen wollen. Z.B. bei unserem teuren Kaffeautomat prellt der Drehgeber zur Mengeneinstellung wie Sau. > Ich > brauche halt irgend
-
Thread
Bitte um Erklärung bei kleinen C-Code um Schalter abzufragen
< DetectsInARow ); [/C] Den einzigen Unterschied, den die Anweisung machen wird, ist wenn die Taste beim Loslassen prellt. D.h. Die Warteschleife for der Entprellschleife wartet auf die 1, aber der prellende Taster liefert bei der unmittelbar darauffolgenden Abfrage bereits wieder eine 0. In diesem
Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 ist besser: Sie braucht keine delay, kommt mit allen Tasten klar (selbst wenn sie noch so prellen), registriert Tastendrücke auch dann wenn das Programm anderweitig beschäftigt ist (solange Interrupts freigegeben sind) und behandelt maximal 8 Tasten in einem
-
Thread
[PIC] Problem mit Interrupt
Der Fehler passiert beim Loslassen vom Taster. Das erzeugt auch einen Pinchange-Interrupt. if( INTCONbits.RBIF && PORTBbits.RB5 ) ist dann einmal erfüllt und if( PORTBbits.RB4 == PORTBbits.RB3 ) ist auch erfüllt, die Frequenz wird also um
PORTBbits.RB5 ); ist schon richtig um auf das Loslassen zu warten. Der Punkt ist ein ganz anderer. Der Taster prellt. Und das eventuell so schnell, dass er einen Interrupt auslöst und in diesem dann an verschiedenen Stellen verschiedene Werte liefert. Das Konzept ist wie gesagt eh nicht gut mit dem Warten
-
Thread
Interrupt-Priorität
z.B. bei einem Interrupt an einem Pin andere Interrupts zulassen bei einem Timer Interrupt aber nicht. So dass praktisch das Timer Interrupt eine höhere Priorität hat.
sei() in der ISR allerdings eine riskante Sache. Wenn das Signal an dem Pin nämlich prellt (z.B. Taster), oder einfach nur häufiger kommt als erwartet, hast du ruck-zuck sich selbst unterbrechende Interrupts.
-
Thread
Encoder/Drehgeber zu langsam
Interrupt auf die Flanken des Encoders macht nur Sinn wenn dieser nicht prellt...sonst haste einen Haufen unnützer Interrupts. Die Polling-Methode von Peda ist schon echt gut, und mit 1kHz Interrupt-Frequenz
Entprellerei? Schau dir doch mal die ganzen 'Entprell-Lösungen' an. Meistens bedeutet das: Im Interrupt ist ein delay, der das System ein paar Millisekunden blockiert, dann werden die Interrupt-Flags zurückgesetzt, der Puls gezählt und die ISR ist beendet. Dreht dein Benutzer heftig am Rad und prellt
-
Thread
PHILIPS VP5500 VoIP Telefon bei Pollin
bewirkt der parameter des ladestroms mit 500 mA irgend was ? ? ... Falk P.S.: Deine Shift-Taste ist kaputt und die Lee r Tas te prellt ;-)
@otmar 0 bekommt man, wenn man die Taste 0 lange gedrückt hält.
-
Thread
Timer Servo ansteuerung AVR Atmega16
Hier der komplette code: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/delay.h> #include <stdint.h> #define F_CPU 16000000; enable_interrupts(GLOBAL); //interupts erlauben enable_interrupts(INT_TIMER0); //timer 0 interupt
Hier ist das Programm das ich bis jetzt verfasst habe: [c] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/delay.h> #include <stdint.h> #define F_CPU 16000000; enable_interrupts(GLOBAL); //interupts erlauben enable_interrupts(INT_TIMER1); //timer 1 interupt erlauben
-
Thread
Mikrocontrollers Eingang bestimmten Impuls abfragen
>Kann mir jemand einen groben Programmablauf in c zeigen. timeoutTaster++; if(timeoutTaster > TIMEOUT) schalteausgang(); SCNR ;)
! Der Taster prellt und die Leitung zum Taster kann sich Störungen einfangen. Man braucht eine Entprellsoftware, um den Taster abzufragen. Den Interrupt (Pin-Change-Interrupt) könnte man bestenfalls bei Batteriebetrieb
-
Thread
Externe Interrupts am mega32
Hallo, ich habe ein Problem bei den externen Interrupts (INT0 und INT1) am mega32. Ich habe sie auf steigende Flanke gestellt und will damit ein Druck von einem Taster erfassen. In dem Programm heissen die Taster "Stopptaster" und "Modustaster". Mit
Hallo Danke erstmal für die ganzen Antworten. Das der Interrupt nicht funktioniert liegt nicht an prellenden Tastern, sondern dass die Versorgungsspannung beim Drücken der Taster einbricht. Das liegt daran, dass die Kondensatoren zum entprellen einen Kurzschluss
-
Thread
Problem bei Frequenzmessung über externes Interrupt
Interrupt Routine wird dann nur der Timer0 vorgeladen, dass ab sofort in 1ms überlauft und evtl. anstehende Interrupt Flags des Timers gelöscht, falls dieser zufällig in der Zwischenzeit beim Abarbeiten der externen Interrupt Routine übergelaufen wäre. Nach 1ms wird dann die Timer0 Interrupt Routine aufgerufen und prüft, ob der Reedkontakt noch betätigt ist. Wenn ja, müsste er nicht mehr prellen, da Schaltzeit inkl.
-
Thread
Reedkontakt einlesen, Polling oder Interrupt oder Pinchange
aus. Soviel zur Theorie. Jedoch in der Praxis stellen sich mir andere Fragen. Der Reed Kontakt prellt ja. Somit ist es fraglich, ob ein Interrupt für die Messung in Frage kommt, da ich anschließend sowieso über einen Timer entprellen muss. So wie ich das sehe, wäre ein Pinchange in dem Sinne gut
>> Welchen zweck sollten dann Externe Interrupts haben? Für schnelle Sachen wie: Encoder (an Motoren), Software-UART, Frequenzmessung... Für Taster reichen Timer eigentlich meistens aus.
-
Thread
Entprellen für Anfänger
Was machst du wenn deine Taste länger als 100ms prellt, oder wenn du ein Zeitkritisches Programm hast und nicht 100ms "übrig"? Gruß Fabian
die Taste war betätigt und ist nun nicht betätigt und entprellt gibt mir die funktion i=0 zurück und das flag ist 0 (wenn die Taste prellt, ist >>>i=0<<< und die schleife wird mit break unterbrochen) sollt
-
Thread
Taster Stromstoßschalter
Das kann man mit einer state machine lösen. state0 //Start Wenn Taster gedrückt, dann state1 state1 LEDs einschalten Wenn Taster losgelassen wird, dann state2 state2 Wenn Taster gedrückt wird, dann state3 state3 LEDs ausschalten Wenn Taster losgelassen
Muss man eigentlich eine Entprellroutine verwenden, wenn der Taster gar nicht prellt? (Einfach ein RC-Glied vor den AVR-Eingang schalten) Ich denke das Prellen ist hier nicht das Problem sondern das Abfragen eines Eingangs und die Anfangsschwierigkeiten mit C.
-
Thread
Taster mit externen Interrupt prellt
etprellen. Im Beitrag zum Taster entprellen wird auf die externen Interrupts leider nicht eingegangen, aber diese zu benutzen ist Vorgabe. Ich habe versucht einen Timer mit Auftreten des externen Interrupts zu aktivieren, den Interrupt
Pin kontrolliert und eine Variable herunter zählt. Sobald die Taste nicht mehr prellt, wird die Entprellschleife verlassen. Zeitverzögerung dürfte im Bereich unter 10ms liegen, je nach Tastenart. Eleganter sind zyklische Abfragen von Tasten aus dem Timer-Interrupt