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;
}
Lesezeichen