hi,

ich habe mal versucht das mit dem pwm umzusetzen.
leider ohne erfolg.

der motor läuft zwar,
aber er läuft immer gleich egal wie ich die werte setze.
ich wollte mal eine langsam fahrt machen, bekomme ich nicht hin.
hmm...
irgendwo habe ich noch einen fehler.

hier kommt mein code:

void main (void)
{
pwminit();
SREG |= (1<<7);
DDRB = 0b11111111;

PORTB |= ((1<<5) | (1<<6));
for( ; ; ){};
}

void pwminit()
{


// Nachfolgend wird Modus 14 gesetzt fast pwm top = ICRn
TCCR1A = (1<<WGM11);
TCCR1B = (1<<WGM13) | (1<<WGM12);

//Nachfolgend wird Prescaler clk/1024 gesetzt
TCCR1B = (1<<CS10) | (1<<CS12);

// COM* = OC1A/B sind aktiv, bei Comparematsch wird der Ausgang gesetzt bei TOP geloescht
TCCR1A = (1<<COM1A1) | (1<<COM1A0) | (1<<COM1B1) | (1<<COM1B0);

// OCIE1B = Output Compare Interrupt Enable 1B
// TOIE1 = Timer Overflow Interrupt Enable
TIMSK = (1<<TOIE1) | (1<<OCIE1B);

// ICR1 = Obergrenze
ICR1 = 200;
OCR1AH = 0;
OCR1AL = 10;
OCR1BH = 0;
OCR1BL = 10;
}


was macht eigentlich de befehl SREG |= (1<<7); genau???

gruß orko