Achja zur Servoansteuerung:
Ich hab mich da mal im Wiki umgesehen und dieses Programm gefunden:
Code:
#define SERVOPIN 7
#define SERVOPORT PORTD
#define DDRSERVO DDRD
volatile unsigned char servopos;
void servo_init()
{
TIMSK|=(1<<OCIE2);
TCCR2 |= (1<<WGM21) | (1<<CS20); //Prescale=1, CTC mode
OCR2 = F_CPU/100000; //alle 10µS ein IRQ
DDRSERVO|=(1<<SERVOPIN);
};
ISR(TIMER2_COMP_vect)
{
static int count;
if(count>servopos)SERVOPORT&=~(1<<SERVOPIN);
else SERVOPORT|=(1<<SERVOPIN);
if(count<2000+servopos)count++;
else count=0;
};
Ist mit diesem Programm die Funktion ISR () definiert?
Mit Servo_init () wird zwar hier der Timer initialisiert.
Und könnte ich mit diesem Programm anschliessend an ISR ()
int main (void) schreiben
und nun die Funktion ISR benutzten?
Oder hab ich da was falsch verstanden?
Grüsse!
Lesezeichen