-
Thread
PIC18F2550 hängt sich nach längerer Dauer auf
Schaltplan ????? Vielleicht Taster entprellen. Könnte helfen. Ohne Schaltplan, nur ein Gerate hier.
>Es geht nicht darum irgendwelche Taster zu entprellen. Es geht einfach >darum dass, wenn ich einen Taster drücke, und der Nebentaster irgendwie >auch kurz eine Verbindung hat("scheinbar" gedrückt wurde) Hast du den Taster mechanisch
-
Thread
MCU Auswahl für Temperaturanzeige mit OLED
sie in 2sec einmal auslese. Den ADC kann ich ja in einer Timer Int auslesen. Ich habe vor Tasten zur Umschaltung der Werte (4 gleichzeitig auf dem OLED) in der Main abzufragen wenn ich aber jetzt dan in ein Sub gehe die Temps berechne und dann das OLED beschriebe was denke ich mal sehr lange dauert
sehr langsam, oder? Hier wäre dann mein 2.Problem wie Strukturiere ich dies wo Frage ich die Tasten ab, etc.....
-
Thread
Tasterabfrage
Anfänger bei der C-Programmierung. Als Controller verwende ich den ATTINY24V. Um die ganze Sache zu entprellen habe ich mit Delay gearbeitet. Ich könnte mir vorstellen, dass ich das Unterprogramm taster_abfrage genauso auch in mein eigentliches Programm übernehmen kann. Unterschiede werden wohl nur im Main
plötzlich wie ein Profi alles zu machen. Daher sieht das kompliziert aus für mich. Würdest du sagen ich entprelle die Taste mit dem Delay? Ich habe ja jetzt immer ein Warning seit dem ich das mit dem Delay mache: "F_CPU not defined for <util/delay.h>" Alternativ würde das ja wohl mit for gehen wo ich ja
-
Thread
Hilfe gesucht! D-Flip-Flop will nicht.
low. So wie gewünscht. In der realen Schaltung ist er high. In der Simulation, wenn ich den Taster betätige, wechselt Q den Pegel und hält ihn, so wie gewünscht. Die zwei R's und das C sind zum Entprellen. In der realen Schaltung toggelt Q nicht, es nimmt nur solange den Zustand 0 an, wie ich
minimale Reset-Logik, die den gewünschten Zustand erzwingt. > In der Simulation, wenn ich den Taster betätige, wechselt Q den Pegel > und hält ihn, so wie gewünscht. Die zwei R's und das C sind zum > Entprellen. > > In der realen Schaltung toggelt Q nicht, es nimmt nur solange den > Zustand
-
Thread
Entprellen eines Piezo-Mikrofons + BC547
Stell Dir doch mal die grundsätzliche Frage: Warum willst Du "entprellen"? Entprellen dient dazu: a) kurze Störimpules nicht als Tastendruck auszuwerten, also zu ignorieren b) prellenede Tasten nur einmal als gedrückt zu erkennen Was liegt bei Dir vor?
Hallo Kurz, mir ist klar, was entprellen ist. Bei mir gilt Fall B, also eine prellende Taste soll nur einmal erkannt werden. Wobei die prellende Taste (mein verstärktes Piezo-Signal) in kürzester Zeit sehr viele Interupts auslöst (sagen
-
Thread
Taster mit externe Interrupt ansteuern
Wie kann ich dann rausfinden, welche Taster von 4 Taster bestätigt wurde ? Damit ich für jeder PCINTx ein ISR schreiben kann. Funktion von der Taster habe ich so vorgestellt: ich mache ein Spannungsquelle mit mehre Ausgangsports. Mit 2 Taster
du mir erklären, wie so ist Ext. interrupt die > schlechteste Lösung ist ? Weil mechanische Tasten prellen. Du brauchst also in jedem Fall nen Timerinterrupt zum Entprellen. Und sofort stellt sich die Frage, wozu dann noch extra den externen Interrupt, das ist nur verschwendeter Code. Im Timerinterrupt
-
Thread
Xilinx: IBUF, IBUFG, BUFG, OBUF?
BTN1) sind an globale Clock-Pins Oh oh... also das wird vermutlich so nicht funktionieren. Der Taster Prellt und dann hast du ein nahezu zufälliges Verhalten > angeschlossen (GCK0, GCK1). Der Zähler funktioniert. Warum bekommt nur > BTN1 bei der Synthese einen IBUF zugewiesen? Weil die Synthese
der (asyncrone) Reset also ein normaler 'input'. Schau dir mal Lothas Seite an besonders: Entprellen: http://www.lothar-miller.de/s9y/categories/5-Entprellung und einsyncronisieren: http://www.lothar-miller.de/s9y/categories/35-Einsynchronisieren
-
Thread
Zustand vom Port speichern beim Attiny2313
eine gewisse Zeit gut, aber dann ???? Die Frage ist: Was ist eine gewisse Zeit? Da der TO da Taster drann hängen hat, kann man mit großer Wahrscheinlichkeit davon ausgehen, dass dieser Taster nicht alle 2 Sekunden, 24 Stunden am Tag, 7 Tage die Woche betätigt wird. Wenn er jede halbe Stunde einen Taster betätigt, 24-7, reicht das immerhin für ~2080 Tage oder rund 5.5 Jahre Wenn er dann noch in der Nacht schläft anstatt auf den Taster zu drücken, sind wir bei 10 Jahren .... .... bis die garantierte
-
Thread
Körperschall verstärken und damit Mikrokontroller triggern
und das Signal daraus nehmen will, um einen Mikrokontrollereingang zu triggern. So als ob ein Taster gedrückt worden wäre. Der Mikrokontroller (ATMEGA8, weil ich mit dem schon ein wenig Erfahrung habe) soll dann den Triggerzeitpunkt in einen nicht flüchtigen Speicher schreiben, so dass ich ihn
Ausgang auf EIN schaltet und diesen auch paar Millisekunden hält (damit ich mir das Software-Entprellen in Assembler ersparen kann, weil ich das noch nicht kapiert habe, bzw nicht verstanden habe, wie ich das in eigenen Code einbauen kann, ohne den anderen Code zu stören) Die Versorgungsspannung
-
Thread
Solo- und Mute-Schaltung für Analogmischpult realisieren.
Hm, welchen Teil gibt es insgesamt nur einmal, und welchen Teil einmal für jeden Kanal? Ist der Taster links Mute clear, und die beiden unten Mute und Solo? Und (wie) schaltet der Solo-Knopf alle anderen Kanäle aus?
Ich dachte die gesamte Schaltung pro Kanal... Ist wohl zum entprellen des Taster, der linke Teil. Der Rest der Schaltung fehlt noch. Quasi der Master Clear und eine Schaltung dass der Kanal in Solo nicht gemutet wird.
-
Thread
Wieder mal Tastenabfrage geht das auch so?
screwdriver schrieb: > Das mag ja für einzelne Taster gelten. Benutze ich jedoch deine Routine > um einen Drehencoder zu entprellen, muss diese in der Zeit zwischen den > Signalflanken von Phase A und Phase B abgeschlossen sein. Normalerweise entprellst
screwdriver schrieb: > Das mag ja für einzelne Taster gelten. Benutze ich jedoch deine Routine > um einen Drehencoder zu entprellen, muss diese in der Zeit zwischen den > Signalflanken von Phase A und Phase B abgeschlossen sein. Mein Encoder-Routine
-
Thread
emv - Belichtungsgerät
Wenn du deine Tasten ganz normal pollst, z.B. 100 mal pro Sekunde und dann typisch entprellst, wirst du wohl kaum Probleme haben. Der Interrupt hingegen reagiert auf jeden kleinsten Glitch irgendwo und entprellen kannst
Wer seine Tasten an externen Interrupts betreibt, hat es nicht anders verdient. Wie man es richtig macht steht oben schon: Über normale Pins zyklisch abfragen ("Polling") und ordentlich per Software entprellen.
-
Thread
Interrupt mit Bascom wird doppelt ausgeführt
hilft, müsstest du vielleicht zusätzliche hardware bemühen, um den taster zu entprellen. siehe z.b. http://www.labbookpages.co.uk/electronics/debounce.html gruss klaus
nicht zurückgesetzt wird, hat das keine Auswirkung auf den Ablauf des Programmes. Und wenn die Taster entprellen willst, dann einfach per Software und ohne INT0/1-Interrupt sondern mit Timerinterrupt. Aber dann hast du xx Millisekunden, bis du definiert sagen kannst ob der Taster wirklich gedrückt
-
Thread
dezimal in 8-4-2-1 BCD
ausgabe zum zuge. Habe ein ATTiny 461-20PU. (Zum üben habe ich noch ein AVR Butterfly Demoboard) Tasten entprellen: Würde auch ein Kondensator reichen?
> Tasten entprellen: > Würde auch ein Kondensator reichen? Der bringt sicher Besserung, darauf verlassen kann man sich aber auf keinen Fall. http://www.mikrocontroller.net/articles/Entprellung (weiter
-
Thread
Frage zu einer Ampelschaltung mit Interrupt
aber nun verhindern das das bit erneut gesetzt wird? > lässt sich der interupttaster genauso entprellen wie ein normaler > taster? Wie Du merkst, raufen sich hier alle Programmierer die Haare über den Ansatz. Aber es würde zu weit führen, alles von Anfang an richtig zu machen. Wenn Dein Lehrer
wenn eine ISR knapp vor dem fertig werden ist. :-) > lässt sich der interupttaster genauso entprellen wie ein normaler > taster? Der ganze Ansatz mit Auslösung durch Taster am Interrupt und Abarbeitung der Ampelphasen in einer ISR ist kompletter Schwachsinn. > oder muss ich in cli befehl nach
-
Thread
Timer und Random mit ATMega 8
zugehörige Jobroutine aufrufen, die den Merker löscht und die zugehörigen Aufgaben erledigt (Tasten entprellen, Blinkzähler für Ausgänge managen, Werte für Berechnungen bereitstellen, usw.). - Jeder Job springt nach getaner Arbeit (und entwertetem Jobmerker) zum Beginn der Mainloop zurück
Drehgeber ab bzw. schaufle alle 1ms ein Byte aus dem Bildschirmspeicher (im AVR-SRAM) an das LCD. Tasten werden dann jede 16. Runde (also alle 16ms) entprellt. ...
-
Thread
LCD - Text via Taster ändern
if taster2 = 0 then goto Taster2 end if Loop End Taster_1: Cls Locate 1 , 1 Lcd "Taster 1 wurde" Locate 2 , 1 Lcd "gedrueckt" while taster1 = 0 waitms 10 'Entprellen wend Return Taster_2: Cls Locate 1 , 1 Lcd "Taster 2 wurde" Locate 2 , 1 Lcd "gedrueckt" while taster2 = 0 waitms 10 'Entprellen wend Return [/pre] Hoffe, ich konnte helfen
-
Thread
LCD mit Interrupt möglich?
LCD 4x40 (wo der SRAM nicht für einen Bildschirmspeicher reicht), habe ich das "Hauptprogramm" (Tasten abfragen, UART bedienen) in die Wartepausen des LCDs verlegt. Ein Timer setzt alle 1ms ein Flag. Die Hauptschleife gibt in diesem Takt byteweise reihum eine Überschrift, 20 Parameter und einen
Warteschleife werden hier die anderen Jobs des Programms ausgeführt, wie jedes 16. mal (alle 16 ms) Tasten entprellen, UART auf Empfang prüfen und Byte wegräumen, UART Senden, falls erforderlich und UDR leer ist. Der optimale Lösungsweg ist immer auch etwas von der zu lösenden Aufgabe abhängig, eine
-
Thread
PSoC: Programm läuft auf POD aber nicht auf Real-Chip
übersehen. Wenn ich mir dein main.c so ansehe glaub ich nicht das es notwendig ist das du die Tasten interruptgesteuert machst. Würde das mitn Buffer verschmeißen, die Tasten im 10msec Takt im while(1) abfragen und mir den GPIO Interrupt für die eingehenden Daten aufheben (ist Prioritäten Sache, wenn
. Außerdem sollte man Tasten immer entprellen, wenn deine Versorgungsspannung nicht konstant ist, kann es sein, dass der PSoC Tastendrücker erkennt die keine sind... mfg Bernhard
-
Thread
Funktion für die 7-Segment Anzeige aufbauen
angeht: Problem: Man hat da mehrere Subsysteme, die alle zusammen in eine ISR könnten. Zb. Entprellen und Multiplexen. Die für mich vernünftigste Methode um das Ganze modular zu halten, ist es für jedes Subsystem einen InterruptHandler zu schreiben und den dann von der gemeinsamen ISR aufzurufen
KeyPressed( rightKey ) ) ... } } [/C] Das also der ganze Timer und ISR Mechanismus für die Tasten aus main() rausgehalten wird. Mir ist schon klar, dass das deswegen nicht funktioniert, weil da nun mal kein BS drunter liegt, welches einen Timer bzw. ISR virtualisiert. Aber mit der Alternative
-
Thread
Werft mal ein Auge bitte drauf
Ich hab jetzt Vier Taster: Taster Taster Taster Taster Links, Rechts, Oben, Unten Welchen Widerstand bräuchte ich denn für die Sensoren?
Dominik H. schrieb: > Ich hab jetzt Vier Taster: > > > > Taster > > Taster Taster > > Taster > > > Links, Rechts, Oben, Unten > > > Welchen Widerstand bräuchte ich denn für die Sensoren? Kommt
-
Thread
AVR-GCC Power-Down Tutorial
Aufwachtaste auch dem am Pin anliegenden Signal entspricht, also die Entprellung abgeschlossen ist. Da der Taster aber low-aktiv ist, das entprellte Bit aber high-aktiv, wird auf Ungleichheit getestet (Exklusiv-ODER). Bevor das Entprellen nicht beendet ist, darf der Power-Down nicht ausgeführt werden, da ja die
würde. Man sieht auch schön, wie die CPU kurz aufwacht, um das Loslassen nach dem Power-Down zu entprellen. In der Praxis würde man dann die LED natürlich nicht einschalten. Ist das Entprellen beendet, wird die Taste ausgewertet. Sie schaltet nun zwischen Wachen und Schlafen hin und her. Dafür wird
-
Thread
Power-down mit Taster
rotes, gelbes oder grünes LED leuchtet oder auch blinkt. Ich möchte ganze Sache jetzt mit einem Taster an- und ausschalten da die Schaltung durch eine 3 V Batterie versorgt wird. Ich dachte dabei an Power-Down. Dazu habe ich einen Taster an meinen ATtiny 24V angeschlossen. Er geht von PB2-Pin (INT0)
Die Tatsache dass > erst das Auslassen des Tasters zu einer Änderung führt gehört schon zum > Entprellen oder??? Genaugenommen noch nicht. Ich hole etwas aus... Wenn du den Taster zum Schalter machen willst, ist die Arbeitsweise ja so. Du drückst den Taster und lässt ihn los. Beim 1. Mal entspricht
-
Thread
Neue Probleme
zusammen! Ich würde nochmals Hilfe benötigen. Ich würde meine Sensorschaltung gerne mit einem Taster aus- bzw. ein schalten. Ich verwende den ATtiny 24. Der Taster geht von PB3 auf Ground. Möchte also den internen Pull Up Widerstand nutzen. Wenn das Gerät ausgeschaltet ist, muss ja weiterhin eine
schrieb: > Ich würde nochmals Hilfe benötigen. Ich würde meine Sensorschaltung > gerne mit einem Taster aus- bzw. ein schalten. Ich verwende den ATtiny > 24. Der Taster geht von PB3 auf Ground. Möchte also den internen Pull Up > Widerstand nutzen. > Wenn das Gerät ausgeschaltet ist, muss ja weiterhin
-
Thread
UP - DOWN Taster Entprellung mit Timer
ist, dass ich das b10msTimer Bit einen Programmdurchlauf an jeder Stelle abfragen kann. Ich Entprell meine Taster immer bis 60ms. Unter 10ms find ich es fast zu knapp.
aber dann ......u.s.w. wenn dir das delay nicht gefällt dann vielleicht so: [c] . unsigned long Taste1Counter=0; if (PortA&TasteUp) // TasteUp gedrückt Taste1Counter++; else Taste1Counter=0; if ( Taste1Counter==80000 ) // Wert 80000 ist experimentel ermittelt { UpDownCounter++; } if
-
Thread
LED per Taster an und ausschalten
ausgeben ret [/c] Leider brennt die LED nur während ich den Taster gedrückt halte, wenn ich loslasse geht sie wieder aus. Hat einer von euch eine Idee woran es liegen könnte? Entprellen kommt hier nicht in Frage, da das Programm möglichste einfach zu halten.
Du must nicht nur auf das druecken der Taste warten sondern auch auf das loslassen der Taste. Sonst wird wie Karl heinz schon geschrieben hatte deine schleife rasend schnell durchlaufen. Also teste am ende von AnAus ob der Taster losgelassen
-
Thread
attiny13 aufwecken aus power down modus
später gesetzt wird. die delays sind bloß für des minimalbeispiel da, in meinem Programm sind die Tasten "ordentlich" entprellt > Mach Dir mal nen PAP, wie das Sleep gestartet und wie es wieder > verlassen werden soll. Was bitte ist PAP das sleep soll beginnen, wenn taste lang gedrückt wurde
noch 2 seltsame Verhalten: .) Ich kann den AVR in den Schlafmodus schicken aber mit der gleichen taste nicht mehr aufwecken .) Bei jedem Tastendruck des Encoders (#define TASTER (1 << PB2)) wird der AVR aufgeweckt (und nur dann) und beginnt den main-Vorgang abzuarbeiten.
-
Thread
Schalter trotz Elektrosmog sicher abfragen
. Ich möchte Fehlauslösungen und Überspannung am AVR natürlich vermeiden. Software-entprellen ist mir klar, aber wie extern beschalten? So? 5V | 1K | +---+----10k--+----- zum AVR (Eingang, interner Pullup EIN) | | | 100nF / Tast | /
Routine ein Prellen erfordert um zu schalten. D.h. mit einem Transistor kann man dann gar keinen Taster simulieren?
-
Thread
IBM Thinkpad keyboard with trackpoint -> wireless
dann auf einen Decoder-IC aus einer alten Tastatur legen und den die Scancodes generieren und die Tasten entprellen lassen. Die Codes werden mit höchster Wahrscheinlichkeit nicht den gewünschten Tasten entsprechen. Daher soll ein AVR die Codes vom Decoder per SPI entgegennehmen, per Look-up-table konvertieren
Hier die Matrix inklusive z :-) Das Foto stammt von einem Ami-Keyboard, daher sind die Tasten ein wenig anders angeordnet. Die für die Tastatur benötigten Kabel (ohne FN-Taste und Powerbutton) sind 1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,27,29,30,31,32,33,35,36 Macht 24 Kabel, also
-
Thread
Bitte drüberschauen, USB-VS1053-ATMEGA
gewährleisten. Wenn du's richtig machst verlierst du keine Zeitauflösung durch die Matrix. Du musst deine Taster sowieso entprellen, hast also sowieso eine kurze Verzögerung zwischen Tastendruck und Aktion. Das ist im Bereich von ein paar bis höchsten 30ms was da nötig ist. Zwischen zwei so samples kannst du
> Wenn du's richtig machst verlierst du keine Zeitauflösung durch die > Matrix. Du musst deine Taster sowieso entprellen, hast also sowieso eine > kurze Verzögerung zwischen Tastendruck und Aktion. Das ist im Bereich > von ein paar bis höchsten 30ms was da nötig ist. Zwischen zwei so > samples kannst
-
Thread
Menü mit Sprungtabelle funktioniert nicht
Wenn Du da einmal drückst gibt es vermutlich ein Dutzend Interrupts hintereinander... Stichwort: Tasten entprellen Gruß aus Berlin Michael
Sprungtabelle eine höhere Z-Pointer Adresse hat eventuell ein Übertrag entstehen kann. Auf das Tasten entprellen verzichte ich, da ich mit dem Prellen noch nie probleme hatte. Habe vorher schon ein einfaches Programm geschrieben, mit dem man mit 2 Tasten entweder eine Zahl hoch oder runterzählen konnte
-
Thread
Elektronisches Metronom
zum Leben erwecken will... Was mach > ich da am besten, um das zu fixen? > der entsprechende Taster hängt auch wirklich an PD2 (INT0)? Grüße Uwe
lasse ich dir mal als "Hausaufgabe" ;-). Prinzipiell musst du mit dem Taster (auch hier wäre ein sinnvolles Entprellen wichtig!) ein Flag setzen/löschen, was du bei der Tonausgabe immer abfragen musst. Überlege/probiere mal und frage, wenn du nicht klar kommst... Grüße Uwe
-
Thread
msp430 Interrupt löst "selbständig" aus
das stichwort heisst "Taster entprellen"... VG, mui
Hast Du den Taster irgendwie entprellt?
-
Thread
Warten und Verzögern ohne zu Blockieren (avr/delay.h)
Zähler abgelaufen, dann bleibt er bei 0 stehen wie ne Eieruhr. Damit realisiere ich Dinge wie Taster-Abfrage bzw. -Entperllung, Einlesen von DCF-Bits, Entprellen von Drehgebern, Ausgabe von Morse-Zeichen, blinkende LEDs, Timeouts für Bildschirmschoner und zig andere Funktionalitäten. Der Beispiel-Code
wie der zerfallen... Un die 1-Sekunden Zähler werden gar nur 1x pro Sekunde angefasst. Zum Entprellen von Tastern braucht man übrigens keine eigenen Zähler: die Taster-Routine klinkt man einfach in die 10ms-ISR ein. Mit einem Callback-Mechanismus oder wie auch immer musst du auch irgenwdo und
-
Thread
Multiplexing und Taster Routine
übergebe, und die Funktion das dann in ner while(1) schleife brav anzeigt. Dann hab ich da noch fünf Taster, die ich auch super entprellen kann wenn ich die öfters Abfrag und dazwischen immer 50-120 ms warte und den drei mal auslesen lass. Der Tater soll nacher bei einmaligem drücken eine Variable einfach
50-120ms is schon mal sehr viel. Ich hab noch keine taste länger als 10ms entprellen müssen. Manchmal reicht auch schon 1ms. Ich würde mal versuchen die Entprellzeit sukzessive runter zu setzen bis Blödsinn entsteht. Wenn das nicht reicht würd ich die
-
Thread
geistertasten
Testcode, der nur nor eine Zeile ausliest. Trotz das nur eine Zeile ausgelesen wird drücken sich die Tasten b,h,j immer wider von selbst, obwohl nur die Tasten a,b,c abgefragt werden. Die Tasten werden zwar nicht mehr so oft als gedrückt erkannt aber leider immer noch? Also muss der Fehler beim Entprellen
schädlich, nun noch: "Wenn der Eingang vier mal hintereinander ein high-Signal erkennt gilt die Taste als gedrückt und entprellt." zu versuchen. Sollte die Taste länger als 10ms, sondern 40ms prellen, dann mach deine ISR so, dass sie die Tastatur nur noch alle 50ms abfragt. Du musst nicht entprellen
-
Thread
paralleler Programmablauf (zeitkritische) in C (AVR-Studio)
sein, das erledigt ein 10ms Timer-IRQ doch in recht wenigen Taktzyklen und sagt Bescheid, welche Taste erkannt wurde. TWI ist prinzipbedingt relativ langsam, die Frage ist hier, um welche Datenmengen in welcher Zeit es geht. LCD kann eine Rolle spielen, wenn es um ein Grafik-Display geht, auf dem
auf einmal erledigen.... > zb: tastatur (matrix) einlesen,TWI lesen/schreiben,LCD-ausgabe....) Tasten einlesen, entprellen und Flanke erkennen im Timerinterrupt, I2C im I2C-Interrupt, LCD im Main oder im Hintergrund per Timerinterrupt. LCD aber nur alle 200ms aktualisieren, sonst wird der Betrachter
-
Thread
Entprellung mit Dannegger-Code auf unterschiedlichen Ports
= ((PORTB |= _Taster1) | (PORTC |= _Taster2)); i = key_state ^ ~KEY_PIN_neu; [...] [/c] Könnt ihr das nachvollziehen?
das deine Tasten an "aufeinanderfolgenden" Bist hängen - mit jeweisl einer Taste an Bit 0 von PORTB und PORTC ginge das nicht so einfach. [c] KEY_PIN_neu = ((PORTB |= _Taster1) | (PORTC |= _Taster2)); i = key_state
-
Thread
ATTiny13 Programmieren
Vielleicht sollte man die Eingänge entprellen, wenn Taster daran angschlossen sind. Was ich einfach mal vermute.
Hallo schrieb: > Vielleicht sollte man die Eingänge entprellen, wenn Taster daran > angschlossen sind. Was ich einfach mal vermute. Die Eingänge brauche ich nicht entprellen, da ich mir ein Testlayout geätzt habe. Die werden mit Jumpern gesetzt :) Ich
-
Thread
Z-Diode gegen KFZ-Boardspannungsspitzen?
Hallo HildeK der OPV soll als "lineares Zeitglied" fungieren. Er uebernimmt die Funktion Schalter/Taster entprellen. Die einfachere Variante waere ein passives RC-Glied (wie von Alexander Schmidt vorgeschlagen) >Naja, irgendwer muss ja die Spannung (auch gehalten vom >Ingegrationskondensator) wieder
Wenn man mit einem µC einen Taster überwachen und entprellen will, macht man das auch nicht per IRQ, sondern über timergesteuertes Polling. Das Erkennen von Zündung ein oder aus ist genau dasselbe!
-
Thread
Taster entprellen
zu entprellen? Danke Gruß
Edit if((Taster_Alt == nichtgedrueckt) && (Taster == gedrueckt)) { Motor ^= 1; // Motor toggeln // wenn gelaufen -> stop // wenn gestoppt -> laufen } Taster_Alt = Taster;
-
Thread
Hilfe zur Tastenentprellung von P.Dannegger
zugehörige Led an geht und wenn ich sie loslasse wieder ausgeht. Jetzt zum Problem: Ich möchte die Tasten die an das Schieberegister angeschlossen sind entprellen. Anschließend soll nur bei Änderung der Tasten eine Aktualisierung der Ausgabe erfolgen. Der vorherige Schaltvorgang soll allerdings erhalten
Abarbeitung) ;tmp ist wieder frei, tas enthält den entprellten Tastenstatus, ;tfl die neu gerückten Tasten Tastendauer: mov temp,tas ;Tastenzustand kopieren andi temp,reptast ;nur Tasten mit Wiederholfunktion stehen lassen tst temp ;ist eine Taste betätigt? breq Tastendauer0 ;
-
Thread
"Irgendwas" setzt meine globale volatile Variable zurück :(
ist TO? *g klingt irgendwie nach Trace ;) @STK500 Besitzer: wollt ja kein Roman schreiben, der Tasten-Interrupt setzt eine Variable auf !=0 (also 1 etc.), der 100Hz Timer frägt die variable ab und if(Var) Var++; - also inkrementiert den zähler nur falls er "aktiviert" ist. Wird die taste losgelassen schau ich mir den Zählerstand an und weis wie lange sie gedrückt wurde - kann entprellen und beliebig viele "anschlagzeiten" messen. also für >3sec == ausschalten, >50ms == tastentip und >1sec == menü etc. - is das wirklich so schlimm?
-
Thread
1 Taster an 2 Pins(PD7 & INT0) für Interupt
Leuchtstoffröhren, Motoren usw.), dann ist der Interrupt genau richtig. Wenn Du allerdings die Taste noch entprellen mußt und Flankenerkennung, dann ist der Interrupt witzlos. Wer sich das Leben leicht machen will, der nimmt nen Timerinterrupt zum Tasten einlesen. Peter
peda), als ob du es wusstest: Es hängt eine CCFL an der Schaltung. Und ja ich muss den dann entprellen. Aber warum ist es dann witzlos? Es geht in meinen Fall darum das ich: 1. Alle Timer schon benutze 2. nur >1< Taster hab 3. Trotz einen Taster ,der Normal benutzt wird, außerdem das Programm
-
Thread
Prellen am Notaus, Realisieren einen Notaus
es sein, dass der Schalter 130ms lange prellt? Ich habe auch noch folgendes versucht: Den Taster nicht als externen Interrupt anzuschließen sondern als normalen Taster, den kann ich dann auch softwaremäßig entprellen. Da ist dann solange Notaus-Situation, solange der Taster gedrückt ist und die Situation wird gelöst, sobald man den Taster zieht (über Schleifen realisiert). Für den Pin habe ich den internen Pullup aktiviert und über den Taster mit GND verbunden. Hier passiert folgendes: beim ersten Mal drücken funktioniert der Taster