-         

Ergebnis 1 bis 7 von 7

Thema: PWM Frage

  1. #1
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.12.2007
    Beiträge
    280

    PWM Frage

    Anzeige

    Ich hab ein kleines Problem, da bei meinem Atmega32 der OCR1B kanal nichts ausgibt. Den Chip hab ich schon mit nem Bascom Programm getestet. Er funktioniert wunderbar. Der Fehler liegt mal wieder an meinem Progam. Da dieses ziemlich umfangreich ist, hab ichs mal aufs notwendige reduziert. Auch hier gehts noch nicht. Bei OCR1A kommt das PWM Signal (soll übrigens ein Signal mit Clock / 1024 und 10bit sein, keine FAST PWM sondern die normale Standard) Im datenblatt ist es der Modus #3 (auf Seite 109). Also wer kann mir sagen, warum sich bei PinD4 nichts tut!

    Vielen Dank schonmal im Voraus!!!

    Code:
    	DDRD  =  (1 << PD4);
    	DDRD  =  (1 << PD5);
    	TCCR1A = (1<<COM1B1)|(1<<COM1A1)|(1<<WGM11)|(1<<WGM10); 
        TCCR1B = (1<<CS12)|(1<<CS10);
    	OCR1A = 50;
    	OCR1B = 50;
    	while (1) { ; }
        return 0;

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.554
    Muss da nicht irgendwo TIMSK bedient werden?
    Ciao sagt der JoeamBerg

  3. #3
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Also wer kann mir sagen, warum sich bei PinD4 nichts tut!
    Weil du den Pin als Eingang definiert hast.
    Denk mal über diese beiden Codezeilen ein wenig nach:
    DDRD = (1 << PD4);
    DDRD = (1 << PD5);
    MfG
    Stefan

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.12.2007
    Beiträge
    280
    Vielen Dank! Da hat sich auf mikrokontroller.net Tutorial ein fehler eingeschlichen

    http://www.mikrocontroller.net/artic...nmodulation.29

  5. #5
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    Da hat sich auf mikrokontroller.net Tutorial ein fehler eingeschlichen
    Wo denn, ich sehe da auf die Schnelle keinen.
    Oder meinst du etwa die Zeile "DDRB = (1 << PB1 );"?
    Die ist doch richtig.
    MfG
    Stefan

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.08.2005
    Ort
    49.80248 8.59252
    Alter
    33
    Beiträge
    172
    Es ist das richtig:

    DDRD = (1 << PD4);
    DDRD |= (1 << PD5);

    oder besser:

    DDRD |= (1 << PD4) | (1 << PD5);

  7. #7
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    26.12.2007
    Beiträge
    280
    Ach jetzt fällts mir wie schuppen von den Augen! Dankeschön!

Berechtigungen

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