- Labornetzteil AliExpress         
Ergebnis 1 bis 5 von 5

Thema: Mega16 PWM am OC2 über Timer2 - keine Ausgabe am Pin?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    43
    Beiträge
    170

    Mega16 PWM am OC2 über Timer2 - keine Ausgabe am Pin?

    Anzeige

    E-Bike
    Moin,

    ich möchte mit dem Timer2 am ATMega16 die Helligkeit einer LED steuern. Eigentlich kein Problem - normalerweise.
    Untenstehendes Programm soll den Timer entsprechend konfigutrieren. Zusätzlich hab ich noch ein umschalten des PD0 drin, damit ich in der Simulation auch was sehe.

    Die Simulation im AVR Studio schaltet aber nur PIND des OC2 ein und aus, aber nicht PORTD. DDRD ist natürlich entsprechend gesetzt.

    Fehler in der Simulation kann ich eigentlich ausschließen, denn der µC macht nix am PD7. Weiß jemand Rat?

    Code:
    int main(void) {
    
    		DDRD |= (1<<PD7 | 1<<PD0);
    		
    
    		TCCR2 |= ( 1<<CS20 | 1<<WGM20 | 1<<WGM21 | 1<<COM21);
    		TCNT2=0x00;
    		OCR2 = 64;
    
    
    	while(1){
    			PORTD ^= (1<<PD0);
    	}
    
    
    }

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    ich weiss jetzt nicht ob ich das Problem verstanden habe, aber Du willst an PortD7 (IO-Register) sehen wenn der Timer den Ausgang umschaltet, im Simulator ?!

    Ich würde sagen, das es schon so passt, wenn man das nur am PinD7 sieht, weil das auch der Eingang des Ports ist. Die Herrschaft über den Port hat ja der Timer, deshalb wird an PortD7 nix grossartig passieren

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.07.2006
    Ort
    Karlsruhe/München
    Alter
    34
    Beiträge
    587
    Es kann sein, dass ich mich irre, aber hast Du JTAG schon deaktiviert (Fuses)? Daran könnte es eventuell liegen.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hi s.o.

    JTAG ist beim Mega16 (und 32) von PortC2-5

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    14.05.2004
    Alter
    43
    Beiträge
    170
    Hmm du hast vollkommen recht, linux80...

    Ich hätte schwören können, das ich bei nem anderen Programm mal den PORTD7 habe blinken sehen, ebenfalls mit PWM.

    Und da meine LED vorhin dunkel blieb und ich kein Oszi habe bin ich davon ausgegangen, das irgendwas faul ist. Kurios ist, das ein einfaches einschalten des PD7 die LED leuchten lies - hardwaremäßig hab ich nix geändert und die Software ist auch wieder gleich wie vorhin --> Aber diesmal gehts.

    Die Fuses waren auch die ganze Zeit okay.

    Naja, vielen Dank jetzt gehts ja!

Berechtigungen

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

LiFePO4 Speicher Test