Gast
#532611
HI!
Der folgende Programmabschnitt sollte eigentlich 1 - 20 Minuten warten
und mir dann zwei kurze "Pulse" ausgeben.
Ich habe schon ewig nicht mehr C Programmiert und bin gerade am Anfang
vom Microcontroller programmieren. Wo liegt der Fehler? Habe es auf
einen ATmega168 programmiert und an die STK500 Dioden gehängt. Die
blinken aber leider ohne die 1- 20 Minuten, die sie meiner Meinung nach
durchgehend leuchten sollten.
int i;
long j;
i = rand() % 20; // Generierung der "Pulsbreite"
j = rand() % 20; // Generierung der Zeit zwischen zwei Pulsen
j = j * 60000; // Umrechnung in Millisekunden
_delay_ms(j); // Verzögerungszeit zwischen zwei Pulsen
PORTB |= (1<<PB0); // PB0 auf high
_delay_ms(i); // PB0 für 1-20 ms auf high
PORTB &= ~ (1<<PB0); // PB0 wieder auf low
PORTB |= (1<<PB1); // PB1 auf high
_delay_ms(10); // PB1 immer für 10 ms auf high
PORTB &= ~ (1<<PB1); // PB1 wieder auf low