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
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.Warum nicht mit GetAdc auslesen
Gruß
Searcher







Hoffentlich liegt das Ziel auch am Weg
Zitieren

Lesezeichen