- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 11

Thema: RN-Control: Tasten abfragen per Interrupt

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.716
    Blog-Einträge
    133
    Hi,
    weil mir mein eigener Vorschlag nicht ganz geheuer war, habe ich das mal mit ATtiny45 und nachgebauter Eingangsschaltung des RN-Control auf Steckbrett ausprobiert. Funktioniert! Allerdings gibt es Probleme bei mir mit Prellen der Tasten und hab da kein wirksames Gegenmittel. Könntest mal ausprobieren und beurteilen, ob das akzeptabel ist - Es werden manchmal die Tastenwerte nicht korrekt bzw. schwankend gemessen, so daß es selten zu Fehlerkennungen kommen kann.

    Der Code ist ein Auszug mit den wichtigen Teilen. Hab versucht die Mega32 Unterschiede laut Datenblatt zu kommentieren.

    Nicht vergessen die Brücke zwischen PA7 (ADC7) und PD2 (INT0) auf Mega32

    OHNE GEWÄHR

    Code:
    FÜR ATTINY45 !!!
    
    $hwstack = 48                           'hwstack reichlich wg Interruptroutine
    
    Dim Adc_low As Byte         
    Dim Adc_high As Byte
    Dim Adc_result As Word At Adc_low Overlay
    
    
    Config Adc = Free , Prescaler = Auto
    Adcsrb = Adcsrb Or &B00000010           'ADC von free running nach INT0 trigger wechseln
                                                     'SFIOR = SFIOR or &B01000000 auf Mega32
    
    Admux = Admux Or &B00000011            'channel ADC3 (PB3) selected
                                                     'Admux = Admux Or &B00000111 - channel 7 auf Mega32
    
    
    On Adc ISR_ADC_Result_Evaluation        'Wenn Messung fertig -> Interrupt zur Auswertung 
    
    Config Int0 = Falling            'INT0 auslösen bei fallender Flanke
    
    Config Portb.2 = Input            'PB2 (INT0) als INPUT (anpassen auf Mega32)
    Config Portb.3 = Input            'PB3 (ADC3) als INPUT (anpassen auf Mega32)
    Portb.2 = 1                          'Pullup an PB2(INT0) einschalten (anpassen auf Mega32)
    
    
    Enable Adc                              'enable adc interrupt
    Enable Interrupts
    
    
    
    DO
    'Hauptprogramm
    LOOP
    
    
    
    ISR_ADC_Result_Eavluation:
          Adc_low = Adcl
          Adc_high = Adch
    
          Adc_result             'Durch Overlay steht 10bit Meßwert in ADC_result zur Verfügung
    
          Waitms 100            'Entprellung??? Etwas besser aber nicht das Gelbe vom Ei. Geht auch ohne wait
          Gifr.intf0 = 1                    'clear INT0 flag da nicht durch INT0 ISR gelöscht wird
    Return

    PS
    Warum nicht mit GetAdc auslesen
    Hatte selbst mal versucht GETADC im Interrupt zu nutzen und bin damit nicht klargekommen. Bin der Sache aber nicht auf den Grund gegangen und mache das jetzt so wie im Code gezeigt über die ADCH, ADCL register.

    Gruß
    Searcher
    Geändert von Searcher (25.06.2011 um 18:50 Uhr)
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Dreh-Encoder und Tasten gleichzeitig abfragen
    Von DerSchatten im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 13.05.2011, 20:16
  2. PWM Frage und Interrupt mit Tasten?
    Von Enterprise im Forum C - Programmierung (GCC u.a.)
    Antworten: 24
    Letzter Beitrag: 31.03.2008, 17:16
  3. Pin change Interrupt und Tasten entprellen
    Von Razer im Forum Elektronik
    Antworten: 5
    Letzter Beitrag: 16.05.2006, 10:35
  4. Tasten bei RN-control abfragen
    Von christian87 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 26.01.2005, 22:09
  5. Tasten am Rn-Control wie abfragen
    Von FHarry im Forum Schaltungen und Boards der Projektseite Mikrocontroller-Elektronik.de
    Antworten: 1
    Letzter Beitrag: 30.12.2004, 09:17

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen