Hi, stehe jetzt echt auf dem Schlauch, trotz include von stdint.h kennt der Compiler unit16_t nicht. Das ist der Code #include <avr/io.h> #ifndef F_CPU /* Definiere F_CPU, wenn F_CPU nicht bereits vorher definiert (z.B. durch Übergabe als Parameter zum Compiler innerhalb des Makefiles). Zusätzlich Ausgabe einer Warnung, die auf die "nachträgliche" Definition hinweist */ #warning "F_CPU war noch nicht definiert, wird nun mit 800000 definiert" #define F_CPU 8000000UL /* Quarz mit 8 Mhz */ #endif #include <util/delay.h> #include <stdint.h> #include <avr/interrupt.h> #include <avr/io.h> #define POWERON PB4 #define MOSI PB0 #define SCL PB2 #define LOAD PB1 int main (void) { PORTB |= (1 << POWERON); DDRB = 0xff;/* all out*/ uint16_t toSend = 0x0FFF; unit16_t mask = 1 << 15; for(int i = 0; i<16; i++) { if (toSend & mask) { PORTB |= (1<<MOSI); } else { PORTB &= ~(1<<MOSI); } _delay_us(10); PORTB |= (1<<SCL); _delay_us(10); PORTB &= ~(1<<SCL); } PORTB |= (1<<LOAD); _delay_us(10); PORTB &= ~(1<LOAD); //PORTB &= ~(1 << POWERON); do{} while(1); }
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.