- LiFePO4 Speicher Test         
Ergebnis 1 bis 2 von 2

Thema: Atmega32 PWM

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    06.03.2014
    Ort
    München
    Beiträge
    8

    Atmega32 PWM

    Hallo
    Ich hoffe ich bin hier richtig! Ich habe versucht ein variables PWM Signal auf dem Atmega328pu zu erzeugen ( und es hat geklappt). Da ich nun aber ein LCD und weitere Sensoren anschließen wollte, habe ich dem µC gewechselt(Atmega32). Leider geht da jetzt Garnichts mehr...
    Ich hoffe mir kann jemand helfen und wünsche eine schöne Wochen !

    MfG
    DEADBEEF

    Anbei noch mein Code:

    #define F_CPU 8000000


    #include <avr/io.h>
    #include <avr/interrupt.h>
    #include <util/delay.h>

    double dutyCycle = 0;

    int main(void)
    {
    DDRB = 0xFF;
    TCCR0 |= (1<< WGM00) | (1<<WGM01) | (1<<COM01);
    OCR0 = (dutyCycle/100.0)*255.0;
    TCNT0 = 0xFF;
    TIMSK |= (1<< TOIE0);
    TIFR = (1<< TOV0);
    sei();
    TCCR0 |= (1<< CS00);

    while(1)
    {
    //TODO:: Please write your application code
    _delay_ms(100);

    dutyCycle += 10;

    if(dutyCycle > 50)
    {
    dutyCycle = 0;
    }
    }
    }

    ISR(TIMER0_OVF_vect)
    {
    OCR0 = (dutyCycle/100.0)*255.0;
    }

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Rechnung mit Fließkomma sollte man sich in der ISR verkneifen, das braucht ggf zu lange um damit in 256 Zyklen fertig zu werden. Es macht auch wenig Sinn den OCR0 wert immer wieder neu zu berechnen. Ein Puffer für den PWM Wert gibt es sowieso schon in Hardware. Man darf also zu jeder Zeit OCR0 verändern - aktiv wird der Wert erst mit dem nächsten Zyklus.

    Formal sollte zumindest die Variable dutyCycle volatile sein - aber der Code kann sowieso entfallen.

Ähnliche Themen

  1. AtMega32 PWM 1x 16Bit
    Von Dominik009 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 14
    Letzter Beitrag: 19.08.2013, 20:04
  2. PWM Atmega32
    Von Cybererror im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 22.03.2010, 21:24
  3. ATMEGA32 ADC PWM
    Von karthago im Forum C - Programmierung (GCC u.a.)
    Antworten: 22
    Letzter Beitrag: 04.04.2007, 18:23
  4. atmega32-PWM-Frequenz
    Von muat im Forum C - Programmierung (GCC u.a.)
    Antworten: 20
    Letzter Beitrag: 07.03.2007, 19:19
  5. PWM ATMega32
    Von tanger im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 16.10.2006, 20:14

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress