- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 10 von 23

Thema: Interrupt Problem mit c

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Das ist klar das dann die Led mit etwa halber Kraft leuchtet. Die Led ist so zu 50% ein und zu 50% aus => Tastgrad=50%.

    Das war aber schon einmal ein guter Test, so kann man sicher sein das die Led funktioniert.

    Versuche einmal ob das TOV2-Flag im Register TIFR sich ändert. Du könntest zusätzlich (damit du das siehst) eine Delay Zeit einfügen.

    MfG Hannes

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von avrrobot
    Registriert seit
    12.01.2011
    Beiträge
    210
    Blog-Einträge
    9
    Wann soll ich das ausprobieren, zur Laufzeit?

  3. #3
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Du könntest es in der while Schleife das Flag prüfen. So kannst du sicher sein das der Timer läuft.

    MfG Hannes

  4. #4
    Erfahrener Benutzer Begeisterter Techniker Avatar von avrrobot
    Registriert seit
    12.01.2011
    Beiträge
    210
    Blog-Einträge
    9
    Ja, aber das dürfte sich ja eigentlich nicht ändern.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Warum nicht? Wenn der Timer richtig eigestellt ist sollte sich das Flag ändern.

    Könntest du den aktuellen Code posten?

    MfG Hannes

  6. #6
    Erfahrener Benutzer Begeisterter Techniker Avatar von avrrobot
    Registriert seit
    12.01.2011
    Beiträge
    210
    Blog-Einträge
    9
    Ach so, ja stimmt.
    Code:
    #ifndef F_CPU
    #define F_CPU    1000000
    #endif
    
    #include <avr/io.h>
    #include <util/delay.h>
    #include <stdint.h>
    #include <avr/interrupt.h>
    
    
    
    ISR(TIMER2_OVF_vect)
    {
    PORTB ^= (1<<PB0);
    }
    
    
    int main(void){
        DDRB |= (1<<PB0);
        TCCR2 = (1<<CS22) | (1<<CS20);
        TIMSK |= (1<<TOIE2);
        sei();
        while(1){
        if((TIFR & TOV2) == 0) PORTB |= (1<<PB0);
        if((TIFR & TOV2) == 1) PORTB &= ~(1<<PB0);
        }
    }
    Die LED ist dann dauerhaft an.
    Geändert von avrrobot (27.09.2011 um 17:49 Uhr)

  7. #7
    Erfahrener Benutzer Robotik Visionär Avatar von 021aet04
    Registriert seit
    17.01.2005
    Ort
    Niklasdorf
    Alter
    37
    Beiträge
    5.093
    Ich habe den Code etwas geändert. Es funktioniert so. Das Flag wird gesetzt. Ich schaue noch warum der Int nicht ausgeführt wird.

    Hier mein Code (den Prescaler habe ich geändert dadurch es schneller geht).
    Code:
    #ifndef F_CPU
    #define F_CPU    1000000
    #endif
    
    #include <avr/io.h>
    #include <util/delay.h>
    #include <stdint.h>
    #include <avr/interrupt.h>
    
    
    
    ISR(TIMER2_OVF_vect)
    {
    PORTB ^= (1<<PB0);
    }
    
    
    int main(void){
        DDRB |= (1<<PB0);
        TCCR2 = (1<<CS20); //(1<<CS22) | (1<<CS20);
        TIMSK |= (1<<TOIE2);
        sei();
        while(1)
        {
            while(TIFR & TOV2)
            {
                 PORTB ^= (1<<PB0);
                _delay_ms(500);
                TIFR |= (1<<TOV2);
            }
        }
    }
    MfG Hannes

Ähnliche Themen

  1. Problem mit Interrupt
    Von Naxos im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 30.12.2008, 06:56
  2. Problem mit Interrupt
    Von Stefan_84 im Forum Assembler-Programmierung
    Antworten: 20
    Letzter Beitrag: 27.06.2008, 18:59
  3. Interrupt Problem
    Von Rohbotiker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 28.08.2007, 19:32
  4. Interrupt problem!
    Von Jannek im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 13.05.2007, 23:26
  5. interrupt problem
    Von xanatos im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 11.04.2005, 17:08

Berechtigungen

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

Solar Speicher und Akkus Tests