Hallo Roboterfreunde,
Es tut mir leid, dass ich euch mit einer so Frage belästige, aber ich schaffe es nicht einmal eine normale While-Schleife zu programmieren.
Ich benutze AVR Studio 4 und habe folgenden Code programmiert:
Code:
#include <avr/io.h>
#include <util/delay.h>
uint16_t ms;
void long_delay(uint16_t ms)
{
for(; ms>0; ms--) _delay_ms(1);
}
int main(void){
DDRB |= 0xff;
DDRD |= 0x00;
while(PIND |= 0x00){
PORTB |= 0x00;
long_delay(1000);
PORTB |= 0xff;
long_delay(1000);
}
return 0;
}
Allerdings spielt der Code keine Rolle, denn bei jeder While-Schleife funktionert es nicht.
Sie funktioniert weder im Simulator, noch auf dem Controller.
Alles, was in der Schleife steht wird einmal ausgeführt und dann ist das Programm zuende.
Ich hoffe ihr könnt mit diesen wenigen Informationen etwas anfangen
Lesezeichen