Hi,
das ist der aktuelle Code (funktioniert noch nicht, fehlt ja nach was bei der if PD2 abfrage, was ich noch nicht weißt):
Code:#define F_CPU 8000000L // Systemtakt in Hz #include <stdint.h> #include <string.h> #include <avr/io.h> #include <avr/interrupt.h> int main(void) { DDRD &= (~ (1<<PD2)); /* Pin D2 als Eingang */ PORTD |= (1<<PD2); /* Pull Up von PIN D2 aktivieren */ volatile uint8_t takt; ISR(TIMER0_OVF_vect){ takt++; } TCCR0=(1<<CS00); //kein Prescaler TIMSK|=(1<<TOIE0); // Overflow Interrupt en DDRD=(1<<PD3);// PortD3 wird Ausgang if(takt>=10){ //Takt bis 10 zählen PORTD^=(1<<PD3); //PortD3 toggelt 50% PWM } if (!( PIND & (1<<PIND2))) { /* mache was wenn PinD2 low ist */ // Hier: der Getriebemotor an L293D soll mit 50% laufen } return 0; }







Zitieren

Lesezeichen