- Labornetzteil AliExpress         
Ergebnis 1 bis 10 von 17

Thema: Einfacher ADC-interrupt

Baum-Darstellung

RumpelHumpel Einfacher ADC-interrupt 27.02.2013, 16:01
HeXPloreR Hallo, und das ist der... 27.02.2013, 16:38
RumpelHumpel Sry, war falsch kommentiert.... 27.02.2013, 16:53
HeXPloreR jo, das mit dem ADMUX scheint... 27.02.2013, 17:19
oberallgeier Woher weißt Du, dass die ISR... 27.02.2013, 17:20
Besserwessi Der ADC wird für eine... 27.02.2013, 18:51
RumpelHumpel Das GREEN_LED_ON schaltet... 28.02.2013, 07:06
oberallgeier Es macht herzlich wenig Sinn,... 28.02.2013, 07:59
RumpelHumpel #define GREEN_LED_on PORTA... 28.02.2013, 12:39
Searcher Geht mit dem ADC nicht. ... 28.02.2013, 14:30
RumpelHumpel Ich wurde leider drauf... 28.02.2013, 15:25
Searcher Ich glaub da fehlt noch das... 28.02.2013, 15:49
RumpelHumpel :D Endlich vielen vielen... 28.02.2013, 16:06
Searcher Wenn du Probleme mit... 28.02.2013, 16:12
Besserwessi Das Löschen des... 28.02.2013, 16:48
RumpelHumpel Danke für die Hinweise, werde... 01.03.2013, 10:29
Besserwessi Der Komparator kann immer nur... 01.03.2013, 11:32
Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #11
    Neuer Benutzer Öfters hier
    Registriert seit
    27.02.2013
    Beiträge
    7
    Ich wurde leider drauf festgenagelt und muss den PA7 benutzen. Wenn er gedrückt wird, liegt keine Spannung mehr an.
    Code:
    #define GREEN_LED_on		PORTA |= (1<<PA3)
    #define GREEN_LED_off		PORTA &= ~(1<<PA3)
    
    int main()
    {
    	
    	DDRA &= ~(1<<PA7);				  //PA7 als Eingang
    
    	cli();						  // Interrupt deaktivieren
    
    	ADCSRA&=~(1<<ADEN);				  // ADC deaktivieren
    
    	ACSR |= (1<<ACIE);				  // Enable analog comparator interrupt
    
    	ADMUX |= ((1<<MUX1)|(1<<MUX2)|(1<<MUX0));            // Multiplexer auf ADC7 setzen
    
    	ACSR |= (1<<ACIS1);				  // Interrupt soll bei steigender Flanke auslösen
    	ACSR |= (1<<ACIS0);
    
    	ACSR |= (1<<ACBG);                                                     // Auf Referenzspannung 2.56V setzen
    	sei();						 // Interrupt aktivieren
    	
    
    	while(1){}
    }
    
    // Grüne LED für 1 Sek leuchten lassen
    ISR(ANA_COMP_vect){
               GREEN_LED_on;
               _delay_ms(1000);
               GREEN_LED_off;	
    }
    Das habe ich soweit rausgesucht, um mittels Comparator vergleichen zu können. Nach meinem Verständnis nach vergleicht er jetzt die Referenzspannung 2.56V mit der Spannung am PA7 ( ADC7) und sollte bei einer steigenden Flanke (Button gedrückt) einen Interrupt generieren und die grüne LED für 1 sek leuchten.
    Geändert von RumpelHumpel (28.02.2013 um 15:31 Uhr)

Ähnliche Themen

  1. Interrupt nach Aktivierung auslösen...
    Von Flario im Forum AVR Hardwarethemen
    Antworten: 2
    Letzter Beitrag: 08.10.2009, 13:35
  2. Einfacher Befehl um nach Variablenderung einmalig ausführen
    Von mirco99 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 06.11.2008, 10:00
  3. Eingabe als Interrupt? Geht das
    Von hunni im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 19
    Letzter Beitrag: 20.08.2008, 09:58
  4. [gelöst] Variable löscht sich nach Interrupt?
    Von robodriver im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 6
    Letzter Beitrag: 14.11.2007, 11:26
  5. Rücksprungposition nach einem ext.Interrupt
    Von lejcko im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 9
    Letzter Beitrag: 27.01.2006, 16:21

Berechtigungen

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

LiFePO4 Speicher Test