- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 5 von 5

Thema: Anfängerfrage zur Software PWM

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    07.06.2008
    Beiträge
    56

    Anfängerfrage zur Software PWM

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo. Ich versuche zur Zeit meine ersten Versuche der C Programmierung. Ich nutze die Programmiersoftware AVR Studio5 und das Testboard von AVR (STK500). Per Software PWM habe ich es bereits geschafft eine LED zu dimmen. Nun möchte ich über einen Taster die Helligkeit auf einen bestimmten Wert einstellen. Das funktioniert leider nicht. Es funktioniert soweit alles außer die Tasterabfrage (die erste "if Schleife"). Kann mir bitte Jemand sagen wo das Problem liegt? Danke Gruß Daniel

    #include <avr/io.h>
    #define F_CPU 16000000UL // Systemtakt in Hz




    int main( void )
    {
    uint8_t pwm_soll=70; //Dort stelle ich die Helligkeit der LED ein
    uint8_t pwm_phase=0;

    DDRA=0b11111111; //PortA Ausgänge
    DDRB=0b00000000; //PORTB Eingänge

    if (PINB==0b11111110) //Wenn der Taster am PINB0 gedrückt wird, ändere ich PWM soll auf 50
    {
    pwm_soll=50;
    }

    while (1)


    {
    if(pwm_soll==pwm_phase)
    {
    PORTA|= (1<<PB0);
    PORTA|= (1<<PB1);
    }

    pwm_phase++;
    if (pwm_phase==100)
    {
    pwm_phase=0;
    PORTA&=~(1<<PB0);
    PORTA&=~(1<<PB1);
    }


    }
    return 0;
    }

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    PullUp auf PortB?
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  3. #3
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    61
    Beiträge
    5.799
    Blog-Einträge
    8
    Tastenabfrage nicht in der while()-Schleife?

    Kein Code-Tag verwendet?

    Gruß

    mic
    Bild hier  
    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

  4. #4
    Erfahrener Benutzer Roboter Experte Avatar von ePyx
    Registriert seit
    14.05.2008
    Ort
    Falkensee
    Beiträge
    700
    Zitat Zitat von radbruch Beitrag anzeigen
    Tastenabfrage nicht in der while()-Schleife?
    Hab ich auch gerade gedacht. Würde die Abfrage eher so formulieren :
    Code:
    if ( PINB & (1<<PBX ) )
    {
        was machen
    }
    Des Weiteren

    Code:
    PORTA|= (1<<PB0);	
    PORTA|= (1<<PB1);
    ist zwar funktional richtig, aber formal nicht sauber. Besser so schreiben :

    Code:
    PORTA|= (1<<PA0);	
    PORTA|= (1<<PA1);
    Grüße,
    Daniel

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    07.06.2008
    Beiträge
    56
    Super Danke. Jetzt funktioniert es

Ähnliche Themen

  1. Anfängerfrage zur Lib
    Von sampo0 im Forum Asuro
    Antworten: 4
    Letzter Beitrag: 26.01.2011, 22:49
  2. Anfängerfrage
    Von ignorator im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 24.10.2006, 03:15
  3. ISP - Anfängerfrage
    Von -tim- im Forum AVR Hardwarethemen
    Antworten: 8
    Letzter Beitrag: 09.07.2006, 20:43
  4. Anfängerfrage was ist RJ 485
    Von der aller dümmste Anfänge im Forum Elektronik
    Antworten: 3
    Letzter Beitrag: 30.01.2006, 18:47
  5. Anfängerfrage
    Von cyberdarkness im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 2
    Letzter Beitrag: 23.06.2004, 16:36

Berechtigungen

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

LiFePO4 Speicher Test