Halllo Leute, ich fange grad bei absolut null an.
Ich hab hier einen kleinen Code:
leider macht der nicht was ich will, Irgendwie scheint die IF bedingung nicht zu funktionieren. an PB0 ist ein Taster angeschlossen der von VTG also 5V bei betätigung auf GND geht. Aber die schleife bedingung wird nicht abgearbeitet. Schreibe ich es anders rum das es bei logisch 1 abgearbeitet wird klappt es. Ich hab wohl nen fetten denkfehler drin.Code:#include <avr/io.h> #include <stdint.h> #include <util/delay.h> uint8_t i; int main(void) { DDRC |= (1<<DDC0); DDRB &= ~(1<<DDB0); PORTC |= (1<<PORTC0); while(1) { if(PINB & ~(1<<PINB0) == 1) { PORTC |= (1<<PORTC0); _delay_ms(1000); PORTC &= ~(1<<PORTC0); _delay_ms(1000); PORTC |= (1<<PORTC0); _delay_ms(1000); } } return 0; }
Brauch ich die While schleife eigentlich? Was ist der unterscheid zwischen return 0 und return 1?
Vielen Dank!







Zitieren

Lesezeichen