Hallo
Kein Semikolon am Ende der #define-Zeilen, delay.h eingebunden und nach "Richtung ==" geändert:
GrußCode:#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> #define PAD_EIN 1 #define PORT_EIN PORTB #define DDR_EIN DDRB #define PAD_RS 2 #define PORT_RS PORTC #define DDR_RS DDRC #define PAD_RR 4 #define PORT_RR PORTC #define DDR_RR DDRC #define PAD_LS 3 #define PORT_LS PORTC #define DDR_LS DDRC #define PAD_LR 5 #define PORT_LR PORTC #define DDR_LR DDRC int step; char direction; void fahren(int Schrittanzahl, char Richtung){ DDR_EIN |= (1 << PAD_EIN); DDR_LS |= (1 << PAD_LS); DDR_LR |= (1 << PAD_LR); DDR_RR |= (1 << PAD_RR); DDR_RS |= (1 << PAD_RS); if(Richtung == 1){ PORT_RR |= (1 << PAD_RR); } if(Richtung == 0){ PORT_RR &= ~(1 << PAD_RR); } if(Richtung == 3){ PORT_LR |= (1 << PAD_LR); } if(Richtung == 2){ PORT_LR &= ~(1 << PAD_LR); } while(Schrittanzahl--){ PORT_LS = 0; PORT_RS = 0; _delay_ms (5); PORT_LS = 1; PORT_RS = 1; _delay_ms (5); } } void tasterabfrage(void){} int main (void) { step = 0; direction = 0; while(1) { tasterabfrage(); fahren(step, direction); } return(0); }
mic







Zitieren

Lesezeichen