mach deinen Zähler volatile!
Code:
void Warte1ms(void)
{
volatile unsigned int i;
for (i = Takt/4000ul; i > 0; i--) ;
}
edit:
das ist übrigens genau das, was ich meine, wenn ich sage:
nacktes C ist für Anfänger absolut nicht geeignet!
Daher gibt es für Anfänger C per Arduino IDE.
da gibt es Timer mit Millisekunden
millis()
oder Microsekunden
micros()
und
delay(msec)
und
delayMicroseconds(usec)
Ansonsten musst du dir die Timer callbacks selber programmieren.
( * schauder * )
Code:
int outPin = 8; // digital pin 8
void setup()
{
pinMode(outPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(outPin, HIGH); // sets the pin on
delayMicroseconds(50); // pauses for 50 microseconds
digitalWrite(outPin, LOW); // sets the pin off
delayMicroseconds(50); // pauses for 50 microseconds
}
Lesezeichen