Gast
#664275
Hallo,
ich habe ein Problem und weis nicht mehr weiter.
Ich habe ein Lauflicht Programmiert der mit einer Taste eingeschaltet
wird und
anderer wieder aus.
Das Problem ist dass der Lauflicht erst durchlaufen muss um ausgehen zu
können.
Aber sieht selbst:
#include <avr\io.h>
void warte_ms(unsigned int Verzoegern);
int main(void)
{
DDRB=0b00111111;
PORTC=0b11111111;
DDRC=0b00000000;
PORTD=0b11111111;
DDRD=0b00000000;
int X=0b00000001;
int Zeitwert=2;
int t;
int g;
do
{
if (!(PINC & (1<<PINC0)))
{
do
{
do
{
PORTB=X;
X=X*2;
warte_ms(Zeitwert);
}
while(X<33);
X=0b00000001;
}
while(PINC & (1<<PINC5));
}
PORTB =0b00000000;
}
while(1);
}
//__________Funktion___Wartezeit_in_ms______________
void warte_ms(unsigned int Zeitwert) //Lade Funktion "warte_ms" mit dem
Wert Zeitwert
{
while(Zeitwert!=0)
{
unsigned int j;
for(j=0;j<1000; j++) {asm("nop");}
Zeitwert--;
}
}
Wie kann ich erreichen dass ich das laufen jederzeit unterbrechen kann?