-
Thread
ungewolltes auslösen von Interrupts
Vermutlich wieder mal Tasten entprellen, die Millionste, da sind externe Interrupts eh der schlechteste und umständlichste Weg.
oder? 100pF sind witzlos. Das hat ja schon das Kabel. Peter D. schrieb im Beitrag #4436476: > Tasten ... externe Interrupts eh der schlechteste und umständlichste Weg. Nicht nur dafür, sondern auch für "ganz normale" nicht prellende Sensorsignale. Oder andersrum: wer in seinem Programm für 8 Eingänge
-
Thread
Anfängerfrage: LED Toggle in C - ATtiny13/ATmega8
Moin moin, ich habe eigentlich etwas ganz einfaches vor: Durch einen Impuls (Taster) sollen ein paar LEDs ein, bzw. ausgeschaltet werden. Beim ersten mal drücken einschalten, drückt man nach einer weile ein zweites mal sollen die LEDs wieder ausgehen. Das ganze soll später auf einem
Der Taster zieht auf GND, im ungedrückten Zustand ist der If-Block immer wahr und es wird ein Blinker.
-
Thread
PeDa Entprellung
Hallo zusammen, seit einiger Zeit versuche ich mit der Routine von PeDa die Tasten zu entprellen. Zum Aufbau: Ich benutze einen Atmega32(A), der von einem externen 16MHz Quarz getaktet wird. Auf meinem Experimentierboard befinden sich 3 Taster, die ohne einen Vorwiderstand
die LED´s anfangs ausgeschaltet: LED_PORT = 0x00 statt LED_PORT = 0xFF; Betätige ich nun eine Taste, passiert zunächst nichts. Durch mehrmaliges Drücken, Loslassen kann man die LED´s irgendwie unkontrolliert zum Leuchten bringen. Wid KEY1 lange gedrückt und losgelassen, so toggelt LED2. Aber auch
-
Thread
Hiiiiiilfe - versuche mit Taste einen RS232-Befehl zu senden
Versuch doch mal die Taste zu entprellen. Du wartest auch nicht ob die Übertragung fertig ist. ( Da gibts ein Flag das du abfragen kannst. ) Wenn jetzt die Taste prellt sendest du zu schnell hintereinander.
-
Thread
[Atmega48..328] Ein Pin zu wenig, Taste einlesen?
eine schöne Schaltung, alles ist fertig und läuft. Dann fällt einem ein, dass man gerne noch eine Taste für Weiss-der-Teufel haben möchte. Natürlich sind alle Pins belegt. Grösserer Controller? Die Schaltung ist fertig, Mann! Mit einer anderen Taste zuammenlegen und über Spannungsteiler mit ADC
man die Variable. Den Rest macht eine handelsübliche Entprellung dann wie gehabt. Man muss die Taste nicht mehr entprellen, der Vorteil ist aber, dass man die gewohnten Funktionen wie GetKey() oder in diesem Falle KeyPress() benutzen kann. Somit wird diese Taste wie jede andere behandelt. Die Timer
-
Thread
entprellen von 1->0 wie Routine umschreiben?
Hallo zusammen. Folgender Code habe ich aus mikrocontroller.net und funktioniert auch für Tastenentprellung von 0->1. Nun habe ich die uC eingänge mit Pullup auf 1 gezogen und wenn ich die Taste drücke wird das Signal zu GND. Somit muss ich die Erkennung auf 1->0 umschreiben. Doch was muss ich genau ändern? void debounceKey(void) { static char ct0, ct1, rpt; char i; i = key_state ^ ~KEY_PORT; // key changed ? ct0 = ~(ct0 & i); // reset or count ct0 ct1 = ct0 ^ (ct1 & i); // reset or count ct1 i &= ct0 & ct1; // count until roll over ? key_state ^= i
-
Thread
Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat
brauchst Du denn genau? Der Drehgeber ist übrigens schon ziemlich schrottig, so dass die Firmware gut entprellen muss ;-)
und das System meint, der Motor bewege sich nicht. Mit der 'sparmatic2011' funktionieren auch die Tasten nicht, mit Knuts Software gehen die Tasten. Das Innenleben entspricht soweit ich das sehen konnte der "Thermy V3" wie hier beschrieben, allerdings steht bei mir eine "13" neben den JTAG-Pads, keine
-
Thread
Attiny 13 mit Pin Chnage aufwecken. Problem
Testzwecken so). Bis hierhin scheint auch alles zu funktionieren. Per _Pin-Change-Interrupt_ durch den Taster will ich ihn dann wieder aufwecken, was manchmal funktioniert und manchmal in einem Reset resultiert! Ich bemerke das daran, dass die LED blinkt und somit die LED_flash() funktion aufgerufen wurde.
definieren (Direction und Level). Die nicht benötigten Pins als Ausgang. Zum Anderen den Tastereingang entprellen (zum Test einfach mal ein Delay).
-
Thread
Anfänge in der uC Welt
vorwiederstand), 68ohm, 100ohm, usw, ein ganzes paket eben ^^), IC sockel, div. Quarze sowie einige Taster und das übliche quadderladdatsch zum löten (lochrasterplatinen, lötzinn, usw, aber löten kann ich ja schon recht gut). Brauch ich da sonstnoch was? Welche Sprache empfehlt ihr mir zu anfang? Also
an Wochenenden viel in der Bahn sitze. Nach ersten Versuchen (siehe Tutorial) wie Led an/aus, Taster entprellen,LCD ansteuern... bin ich jetzt dabei, ein Oszilloskop mit GLCDs aufzubauen und lerne dabei (zwangsläufig) immer mehr dazu. Das Buch "Mikrocomputertechnik mit Controllern der Atmel AVR-RISC-Familie
-
Thread
suche speziellen Microcontroller
ich 12 Eingangssignale will 11 werden über einen Drehschalter angesteuert und eins über einen Taster. Das Signal am Taster soll nur dann durchgeleitet werden wenn dieser gedrückt ist. erste Logik: wenn Taster gedrückt (beispielsweise E0=1) & Drehschalter auf Schalterstellung 1, dann Ausgang 1
werden, wenn sich ein Eingang ändert? > e) Soll nur ausgegeben werden, wenn ein Extra "Ausgabe" Taster gedrückt > wird? zu a und b: Die Eingänge sollen immer alle 10ms ausgewertet werden und die Ausgabe soll nur erfolgen wenn der Taster gedrückt wird. ======================================
-
Thread
Mischport definieren
Moin, wie kann ich einen Taster per Assembler entprellen? Ich benötige dies, um Register hochzuzählen, wenn ich einen Taster drücke (Beim Drücken des Tasters soll noch nichts passieren, erst beim Loslassen soll ein Register um 1
-
Thread
Was anderes als "delay_ms" ?
Ich habe auch eine Schedule, siehst wie folgt aus: [c] int main() { while (1) { if(Taster_S==1) { MSG_Lin_Init(); // LIN Nachrichteninhalt Schedule(); // starten der MAXSchedule } } } void Schedule() { Sende(msg1); delay_ms(5); Sende(msg2); delay_ms
ist jetzt nur ein Beispiel. So ein oder ein ähnliches Prinzip lässt sich auf vieles übertragen. Tasten entprellen wird man zb sinnvollerweise komplett in der ISR abhandeln (siehe den Wiki Artikel "Entprellung") und der Tastendruck selber ist das Jobflag, das in der Hauptschleife abgefragt wird.
-
Thread
Wie macht ihr Zeitreferenzen
Funktionen > musste ich irgendwelche Zeiten abwaretn (z.B. bei der Entprellung) Definitiv nicht, Entprellen gehört in den Timerinterrupt: http://www.mikrocontroller.net/topic/48465#new Patrick B. schrieb im Beitrag #2635774: > Da aber vielen Orten > immer unterschiedliche "Wartezeiten" zwischen
Patrick B. schrieb im Beitrag #2636172: > Werden 2-4 Taster entprellt (nicht in einer ISR), werden jeweils soviele > Timers (Basis ms) benötigt, Einer reicht für alle. Wenn Taster nur alle zig Millisekunden abgefragt werden, dann hat sich die Entprellung
-
Thread
Interrupts und UART gleichzeitig?
Völlig falsches Programmkonzept... Mechanische Taster fragt man in einer Timer-ISR ab (mit Entprellung), mit einem Ext.-Int gibt das nur Probleme. In einer ISR macht man keine Schleifen (Ausgabe mehrerer Zeichen), dazu richtet man ein Register für
...jo, ich tat so... Den Tip mit dem entprellen habe ich dann auch gefunden. Dank Dir fürs wachrütteln. Jetzt bin ich erstmal wieder beschäftigt (mit üben) Bis denne
-
Thread
Binär Uhr Selbst Bauen
ist nichts besonderes, das Eingangssignal und 20 Ausgänge für die LED's. Später kommt noch ein Taster zum Stellen, aber dafür sollte es erstmal laufen. Zur Sprache: Steht drinne: Assembler. >> Wie lese ich das 1Hz Signal über meinen Taktgeber (mit 4,194304MHz und >> Beschaltung) ein (liegt an
du /heute/ den Assembler verwenden sollst, das könnte man nur raten... > Später kommt noch ein Taster zum Stellen, aber dafür sollte es erstmal > laufen. Gleich mal einen Hinweis für den Taster: Entprellen und dann wieder die Flankenerkennung. Hier mal ein Pseudocode für die Flankenerkennung
-
Thread
Z180-Stamp Modul
einen Widerstand in die TX-Leitung des Moduls eingebaut - ohne geht es (jetzt) super :-) Zum Entprellen habe ich (wie auch an vielen anderen Stellen) das hier gefunden: http://www.loetstelle.net/praxis/entprellen/entprellen.php https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster
die Konsequenzen? - Funktioniert der /ZRESET-Schalter gar nicht? Oder nur nicht zuverlässig (Entprellen, Takt)? Das würde zumindest erklären, warum ein Druck auf den Taster meistens "nicht viel geholfen" hat und ich wie beschrieben meistens über ARESET gegangen bin - Leidet der AVR darunter? Bisher
-
Thread
Klingel > Gleichrichter > Relais > Arduino - Hin und wieder "Fehlalarm"
Den Eingang per Timerinterrupt entprellen. Z.B. wenn im 10ms Raster 4* der gleiche Zustand erkannt wurde, ihn als gültig übernehmen und die Flanke melden.
Namensfeld beim Klingeltaster beleuchtet? Ganz klassisch mittels Sofittenlampe? Jene ist dann dem Taster parallelgeschaltet, über die Klingel fliesst dann ständig der geringere Lampenstrom. Am Relais liegt dann eine geringe Gleichspannung an, aber die reicht eben schon fast aus, damit es anzieht.
-
Thread
Tasterabfrage_Stoppuhr_funktioniert_nicht
ich erst angefangen. Ich benötige nun eure Hilfe. Die Tastenabfrage fuktioniert nicht richtig. Taster wird auf logisch 1 gezogen bei Tastendruck. Ich würde gerne mit einem Taster die Uhr starten, anhalten( Zeit soll angezeigt bleiben) und zurücksetzen. Versuche schon lange eine Lösung zu finden
Weiterentwicklung ist dann dieses Paket: http://www.mikrocontroller.net/attachment/215365/sbit.h Taster sollten man nach GND Schalten und den internen Pullup eingeschalten. Zur Auswertung von Tastern nutze dann die PeDa Entprellung: http://www.mikrocontroller.net/topic/tasten-entprellen-bulletproof
-
Thread
ATmega328P Pin0 funktioniert nicht wie gewollt
[c]// Taster definieren int Reset = 13; int Modi = 12; int RstStat = 0; int ModStat = 0; int Zugang_Modi=3000; // LED definieren int LEDrot[5]; int LEDgruen[5]; int LEDpause = 50; // ---------------
Wo entprellst Du denn eine Eingänge ?
-
Thread
Datenbank in ASM 8051 Hilfe
Interrupt wirds knifflig (Prellen). Deutlich besser und einfacher ist daher, mit Timerinterrupt entprellen und dann die Variable bei Tastendruck hochzählen. Die 16 Funktionen müssen natürlich mit der Mainloop zusammen compiliert werden. Dein MC hat ja kein OS, welches DLLs nachladen kann. Peter
Variable für einen Wert hat, wird eine andere Funktion ausgeführt. - Timerinterrupt in welchem du die Tasten einliest und entprellts. Je nach dem was für eine Taste gedrückt wurde, wird die Variable von der Statusmaschine dekrementiert oder inkrementiert. gruss
-
Thread
Problem Prellzeit mit mC und Schaltwerk lösen
funktioniert es softwaremäßig z.B. so: - Abfrage einer Leitung z.B. 100 mal pro Sekunde - Ein Taster gilt als gedrückt, wenn mindestens 2 mal hintereinander als gedrückt erkannt wurde. (Um kurze Spikes herauszufiltern) - Ein Taster gilt als losgelassen, wenn er mindestens 4 mal hintereinander als losgelassen eingelesen wurde. (Um zu entprellen) - Die Werte müssen natürlich so eingestellt sein, dass die maximale Prellzeit berücksichtigt wird. Daumenwerte Prellzeit: 10-50 ms. Winfried
-
Thread
Funktion mit gleichbleibender Ausführungszeit
Ausführungszeit braucht. Z.B. damit Wim van Eck nicht aus mehreren Metern Entfernung hören kann welche Tasten am Geldautomaten gerdrückt wurden.
Eingangsströme auslegen sondern nur noch für eine begrenzte Untermenge. Man könnte auch Paralleln zum Entprellen ziehen. MfG,
-
Thread
4-wire resistive Touchscreen Schaltung TWI USART-Anbindung ATmega8 Assembler LS-7 LS-8
TOUCH_ENTPRELLZEIT_ANTIPPEN =35 ;(1=1ms) Auch beim Loslassen des Touchs sollte aufs Entprellen nicht verzichtet werden, sonst meldet ev. das System eine weitere ungewollte Toch-Betätigung. Lässt sich einstellen durch: .equ TOUCH_ENTPRELLZEIT_LOSLASSEN =100 ;(1=1ms) Probleme
#3969634: > sich sehr einfach und mit wenigen kostbaren Prozessortakten > realisieren lässt. Taste nicht im 1 ms Raster, sondern im 10 ms Raster ab. Da sparst Du viel mehr der 'kostbaren' Zeit.
-
Thread
Ampelschaltung - Probleme bei der Synchronisation
funktioniert...Stufe 2 :) Wie schwierig ist es jetzt, das Durchlaufen einer Phase, mittels einem Taster auszulösen. Sprich, man drückt auf einen Taster und die Ampel beginnt aus dem Zustand Rot die verschiedenen anderen Zustände zu durchlaufen. Die Schwierigkeit, die ich in diesem Fall sehe, ist die
1. Externe Signale müssen einsynchronisiert/eingetaktet werden. 2. Taster und Schalter müssen entprellt werden.
-
Thread
Hausbus
die sie benötigen, selbst heraussuchen. Konkret, eine Eltaco-Schaltung würde ich wiederum die Taster selbst verwalten lassen. Also, wenn ein Taster gedrückt wird, werden folgende Nachrichten verschickt: 1.) Ein Taster wird gedrückt -> "Taster 1, Zustand gedrückt" 2.) Der Taster ist einer
"Taster 1, Zustand lange gedrückt". 7.) Niemand interessiert sich für "Taster 1, Zustand lange gedrückt" 8.) Der Taster wird irgendwann losgelassen -> "Taster 1, Zustand nicht gedrückt" 9.) Niemand
-
Thread
Interupt ja /nein
Menu und wenn die Taste laenger als 2 sec gedrueckt wird wird das Fenster erhoeht. Nach Stromausfall sollten die Daten gespeichert bleiben , deshalb wollte ich die Werte ins interne EEPROM schreiben des µC`s. Oder ist es
Interrupt benutzen, brauchst du aber nicht. Wenn dein Prozessor sowieso nichts zu tun hat, als auf eine Taste zu warten, kannst du das genausogut im polling erledigen. Auf jeden Fall aber entprellen, aber das mußt du auch bei beiden Betriebsarten tun.
-
Thread
in VHDL 50MHz auf 2 Mhz runterteilen?
: Bit 2 1 0 0 0 1 <-- Fussgängertaste gedrückt 0 1 1 <-- Taste immer noch gedrückt und Ausgang wird gesetzt 1 1 1 <-- Ausgang ist gesetzt und Taste gedrückt 1 1 0 <-- Taste wird losgelassen 1 0 0 <-- Taste losgelassen
20ns). Ok ich werd die Tage mich dann auf das eigentliche Programm konzentrieren und dann das Entprellen mit einbauen!
-
Thread
8051 7 Seg. Zähler Multiplex
weitere Variable, die du im Hauptprogramm abfragst und zurücksetzt. Somit erreichst du erstens ein Entprellen (durch den Zähler) und zweitens verhinderst du das erneute Erkennen der Taste. Unterscheidet sich die erkannte Taste von der Taste des vorherigen Durchlaufs, setzt du den Zähler auf Null zurück.
Hier mal ein Testprogramm fürs Entprellen. Ich habs nicht getestet, aber es müßte funktionieren. Einfach 2 Tasten und 2 LEDs an Deinen 8051 ranpappen. Wo, das kannst Du oben bei den Hardwarefestlegungen ändern. [avrasm] ;----------
-
Thread
Mit 3.3V Mikrocontroller 5V schalten
idealerweise zu 0 machst. Bei einem Flachbandkabel heißt das, dass die Rückleitung von einer LED oder einem Taster immer direkt neben der Hinleitung ist. Normalerweise könntest Du das so machen, dass Du bei 10 Tastern einen GND und 10 Tasterleitungen machst. Wenn Du jedem Taster seinen eigenen GND gibst und die
> Taster den eben noch aktiven auslöst ? Ist also eine Art 3er Toggle x > 18... Ja. Das ist eine so grundlegende Designregel, dass es eigentlich egal ist, ob die Taster num in Dreier- oder Fünfergruppen
-
Thread
Dataregister speichern/auslesen
lernen. Ich habe bis jetzt die folgendes geschaft: Ein Interrupt EXTI auszulösen, sobald ein Taste gedruckt wird dann auslesen was für scancode geschickt wurde. und auf lcd auszugeben. Also mit Tastatur etwas einzugeben und es auf lcd auszugeben ist überhaupt nicht mein Problem. ok, ich
habe (weil mit wheile schleife hatte ich unendlische Schleife), bekomme ich jetzt beim Druck einer Taste (z.b "Taste-4") bekomme ich auf einmal statt 1x 4 bekomme ich 4x 4. Ich begreife das net, er tritt zwar in der "for schleife", aber zählt nicht. Ich habe 100x die for-schleife überdenken, und
-
Thread
PIC18F4550 WErt cycle geht immer einen Schritt zu weit
Hallo ich hätte eine Frage. Mein Programm sieht so aus. waehlen ist ein Taster while (Waehlen == 0) { lcd_clear(); sprintf(str, "PWM %: %d", cycle); lcd_writeStr(str); CCPR1L
Also ich habe herausgefunden dass nachdem ich den Taster loslasse direkt die Zahl noch eines weiter wandert. Kann ich das irgendwie entprellen? Wäre dankbar für jede Hilfe:)
-
Thread
mc68360 QUICC Wer hat Erfahrungen damit?
versendet. (mit dem mc68302 IMP habe ich diese Probleme nicht). Timer1, Interrupts, einen RTimer (zum Taste entprellen), Baudrate am Pin, ein LCD an PortA gehen ohne Probleme /-:
restlichen 200ms bei grenzwertigen 0,5V... o_o; Ich hab jetzt erst mal nur einen Pull-up mit Taste dran und der 68360 started damit nach Spannunganlegen nach ca. 1,5s. Nur ist dies ein betriebssicherer Start? (Ansonsten muss ich mir einen anderen Resetgeber oder einen open-drain-buffer besorgen.
-
Thread
Einzelnes Byte von atmega8 zu atmega8 über langen Kabelweg senden?
Wenn ich das Projekt kurz schildern darf: Ich bin Gitarrist und will einen Fußschalter (mit 8 Tastern) bauen, der mir über ein 5-10m Kabel ein Relais-Board ansteuert, welches verschiedene Gitarren-Effektgeräte aus dem Signalweg nimmt bzw. reinschaltet. Im Fußschalter soll ein atmega8 sein, der
Phillip P. schrieb: > Ich bin Gitarrist und will einen Fußschalter (mit 8 Tastern) bauen, der > mir über ein 5-10m Kabel ein Relais-Board ansteuert, welches > verschiedene Gitarren-Effektgeräte aus dem Signalweg nimmt bzw. > reinschaltet. schönes projekt! > Welche Schnittstelle
-
Thread
16bit-Register im ATmega8 ASM
man muß große zusätzliche Zeitverzögerungen einbauen, damit man überhaupt was sieht und auch zum Entprellen. Peter
Matthias wrote: > naja, ich machs halt so, dass ich den taster abfrage, dann entscheide ob > ich einen hochzähle, einen runterzähle oder im programmtext weiter gehe > ("enter"), nach dem weiterzählen gebe ich dann den wert über das display > aus und starte
-
Thread
AVR8ASM-Projekte
KEYMGR_REPEAT_MASK, 0) ' run on timer interrupt WDT_Init() endpart avr.Interrupts.Enable() do // Taster gedrückt if KeyMgr.KeyPress(SW1_MASK) then ' ... endif if KeyMgr.KeyPress(SW2_MASK) then ' ... endif // Taster losgelassen if KeyMgr.KeyRelease(SW1_MASK) then ' nur ein Beispiel endif
Kontakt wird nicht gebrutzelt! https://www.mikrocontroller.net/articles/Entprellung#Einfacher_Taster So und nicht anders!
-
Thread
Entprellung beim Atmega8-16AU
Ich würde die Tasten einfach per Software entprellen. Gibts ja genug Threads hier im Forum zu. Und wenn Du Dir mal anschaust warum Taster entprellt werden sollten, dann wirst Du feststellen das ein Schmitt-Trigger alleine
-
Thread
Anfängerprobleme beim Programmieren eines Lauflichts mit funktionen
allerdings funktionieren die immer nur sporadisch mehr durch Zufall als gewollt , d.h. ich drücke den Taster nichts passiert dann wackle ich bisschen am Taster und plötzlich schaltet es mal für eine msec um aber dann wieder zurück auf das lauflicht, achja hatte hier im forum mal geguckt gehabt und jetzt mal das entprell macro eingefügt, was mir leider auch nicht viel weiter geholfen hat. Die Schaltung an sich habe ich hier auf einen Steck Brett aufgebaut ,habe um auszuschließen das der Taster defekt ist auch den
-
Thread
betätigungsdauer erfassen AVR
Was ist jetzt unklar? alle 100ms nachschauen ab die Taste noch gedrückt ist, wenn 20 mal die Abfrage positiv war dann Ereignis auslösen.
schnell hintereinander druecken oder einmal kurz loslassen. Mindestens alle 10ms nachsehen und Entprellen sollte man auch.
-
Thread
machen ohne Befehl
Pullups an den Tastern (intern oder extern)?
warum du dich für die Tasterentprell-Routine von Dannegger genommen hast wobei du doch gar keine Taster hast.
-
Thread
Entprellung + weiterer Timer funktiert nicht
Hi Leute, hab da mal ne Frage. Und zwar habe ich mir den Entpreller von P. Dannegger genommen und wollte damit nun nen Menü für ne LED Steuerung erstellen. Meine LEDs werden mittels PWM angesteuert und laufen auch perfekt (ohne den Entprellcode). Mein Problem
RGB Wert an oder aus gehen... In der Simulation habe ich das hochzählen des Timers mit dem Entpreller nicht verstanden. Es wirkt irgendwie zufällig (?) Was mir aufstösst ist, dass die Interrupts immer deaktiviert und wieder aktiviert werden. Das kann doch nicht gut sein?! Wenns was hilft würd
-
Thread
EMV Problem am Eingang.
Leitung ist ungefähr 5 Meter lang und leider läuft sie an einem Motor dabei, dessen EMV Dreck meinen Taster auslöst sobald er ein / ausgeschaltet wird. Den Motor zu entstören ist unmöglich - da ich von diesem Gerät die Finger lassen möchte. Das Kabel selbst ist ein normales Liezenkabel / Weder geschirmt
Den Standard Algorithmus findest du unter "Taster Entprellen" z.B hier: http://www.mikrocontroller.net/articles/Entprellung Und wenn das nicht zuverlässig funktioniert, musst du wohl oder über die Ursache bekämpfen.
-
Thread
Touch Entprellung für pollin dg 16080
man wieder woanders drückt zurückgesetzt werden, also keine Entprellung besitzen. Also normale tasten kann man ja mit der debounce Funktion aus dem Tut entprellen, wie macht man das dann mit solchen Toch-tasten?? Hier mal ein Codeausschnitt: [c] if((x > 10 && x < 30) && (y > 10 && y < 30)){
den Artikel [[Bitmanipulation]] durch, dort wird genau beschrieben wie das geht. Wenn Deine Touch-Tasten die Ausgänge toggeln sollen, verwendest Du die XOR-Verknüpfung, dann ändert der Ausgang bei jedem drücken auf Deinen 'Button' den Wert. Gruß Jürgen
-
Thread
Timerproblem mit BASCOM
z.B. if Flag_Bit = 1 then toggle Portc.1 end if Damit das so funktioniert mit deiner Taste 3 Sek druecken musst du erst die Taste entprellen. Mfg Dirk
mit der Abfrage. Toggle geht auch, was nicht geht ist, wenn ich über Bitwait Portd.1 , Reset die Taste abfrage: da wird komischerweise auf dem Leih-Board STK200 der Transistor neben der ISP Buchse ziemlich heiß... @peter Danke erstmal für den Hinweis - elegant und effektiv hört sich die Beschreibung
-
Thread
Erkennung von kurzem und langen Tastendruck
hallo, ich versuche gerade an einem 2313 mit 8 tastern an portd 8 leds an portb ein / auszuschalten. möchte das bei kurzem druck die led kurz leuchtet und ausgeht, bei langem druck anbleibt bis zum nächsten langen druck habe mir schon sämtliche sources hier aus dem forum Zum enTprellen angesehn aber versteh die nicht hat jemand ein gut kommentiertes beispil?
-
Thread
PIC18F bleibt bei Tastendruck hängen
output TRISCbits.TRISC3 = 0; // RC3/CLK - output TRISDbits.TRISD0 = 1; // Taster - input TRISDbits.TRISD1 = 1; // Taster - input TRISDbits.TRISD2 = 1; // Taster - input TRISDbits.TRISD3 = 1; // Taster - input TRISDbits.TRISD6 = 0; //
Andreas Riegebauer schrieb im Beitrag #3089416: > Das Program läuft super. Bis ich die Tasten verwenden möchte. Tastenpins direkt in Mainloop abfragen -> ganz schlecht. Tasten brauchen Entprellen + Flankenerkennung. Beides geht am besten mit einem Timerinterrupt.
-
Thread
STM32: if-Bedingung irrelevant und enthaltener Code wird ausgeführt
Hallo, Ich habe auf meiner Hardware einen Taster, den ich entprellen will und komme hier bei einem seltsamen Verhalten in einer Funktion nicht weiter. Der Debugger geht immer in die if-Bedingung rein und erzeugt dort auch keinen Haltepunkt. Wenn
Bedingung mit einem anderen Inhalt wie dem printf befülle, gibt es keine Probleme. "this" ist eine Taster-Klasse der eine Hardware-Klasseninstanz übergeben wird. Wisst ihr, was ich tun könnte, um das Problem tiefer zu verstehen? Danke Hannes
-
Thread
was macht diese Tasterentprellung?
macht (wird nur einmal aufgerufen?). Danke schonmal im Voraus :). gruß Cutty [vhdl] entity Entpreller is port ( clk,reset: in std_logic; in_Sig : in std_logic; out_Sig : out std_logic ); end entity; architecture rtl of Entpreller is signal count : integer
Ausgang gespeichert. Diese Entprellung dauert also 20ms und hat nur 1 Vergleicherstufe. Für reale Taster bevorzuge ich mehrere Stufen, damit ein Signal nicht nur an 2 Abtastzeitpunkten zufällig mal gleich sein muß. Insgesamt ist die Registertiefe für eine saubere Einsynchronisierung noch nicht ausreichend
-
Thread
suche IC das arbeitet wie Stufenrelai
der Taster dreipolig ist, oder ein Monoflop bzw. einen Halb-Monovibrator, da gibt es verschiedene.
auch nur aus Spaß. Jedenfalls verkleinert er die Schaltung drastisch, und übrig bleiben nur eine Taste und drei LEDs.
-
Thread
Interrupt Int0
Signal zyklisch ganz kurze Impulse zu erzeugen. Ein Timerinterrupt ignoriert diese einfach, wie das Entprellen einer Taste. Ein Beispielcode für das RC-5 Protokoll ist im Anhang. Peter
dich rictig verstehe wird trotz Disabeln des Interrupts SIGNAL (SIG_INTERRUPT0) // PD2 Taste1 { outp(0,GIMSK); // INT0: Off outp(0,MCUCR); outp((1<<INTF0),GIFR); // Loeschen durch '1' ! Infra=1; } das flag im GIFR durch die auf die flanke folgenden IR-Signale
-
Thread
IRMP mag nicht - Hardware?
Bild. Holger, Du hast 100% recht mit dem Kondensator. Am Eval-Board war noch ein Jumper auf eine Taste gesetzt für den Eingangspin. Die ist zwar offen, aber daran hängt so eine R-C Kombination zum Entprellen. So was doofes - meine mich. Sorry für Euren Zeitaufwand. Nun ja, nun gehts - fast. Protokoll ist schon mal richtig. Bei einer Denon kommt immer (egal welche Taste) 5 12884 0. Bei Toshiba 2 -17851 49. Command ändert sich allerdings nicht, egal welche Taste. Jetzt mache ich das erstmal zurück auf 16Mhz und prüfe alles nochmal sorgfältig durch. Danke! Axel