Hallo,

ich habe einen Atmega8535 und will einen Motor über den Ausgang OC0 und PC0/PC1 ansteuern. PWM Mode: Fast PWM, Frequenz: 256.
Als "Versuchsmotor" benutze ich eine LED mit 100Ohm Vorwiderstand über den Schaltkreis L298. Ich bringe sie aber leider nicht zum Leuchten!
Hier mal mein Code:

Code:
/* ********************************************************
   PWM
   
   PWM-Ausgang: OC0/PB4
   I/O-Pins: PC0/PC1
   ***************************************************** */
#include <avr/io.h>
#include <stdint.h>


// Funktion zur Steuerung der Motoren
// speed[-255-255]=Motorgeschwindigkeit/Vorwärts-/Rückwärtsdrehen
int motor(int speed)
{
 if (speed<0)
 {
    PORTC |= ( 1 << PC0 ); // Linksdrehen
	PORTC |= ( 0 << PC1 ); 
	OCR0 = -speed;		    // Vergleichswert festlegen=Geschwindigkeit einstellen(0-255)
 }
 
 if (speed>=0)
 {
    PORTC |= ( 0 << PC0 ); // Rechtsdrehen
	PORTC |= ( 1 << PC1 ); 
	OCR0 = speed;
 }
    PORTC |= ( 0 << PC0 );
	PORTC |= ( 1 << PC1 ); 
    OCR0 = speed;  
}  

// PWM initialisieren
int pwm_init(void)
{
 DDRC = 0x11000000;
 DDRB = 0x000010000;
 TCCR0 = (0<<WGM01)|(1<<WGM00)|(1<<COM01)|(0<<COM00)|(1<<CS02)|(0<<CS01)|(0<<CS00); // Fast-PWM-Mode, toogle at Top
}


int main(void)
{
 pwm_init();
 while(1)
 {
  motor(160);
 } 
}
Kann es sein dass ich noch einen Fehler im Programm übersehen hab oder liegt es sicher an der Hardware?

Gruß

Bene