Dein Code hatte noch einen Fehler in der delay.h definition.
Hab nun noch die Studio eigenen Delay Routinen Verwendet - Läuft bei mir Problemlos und Linked ohne Fehler.
Da Du ja anscheinend Interupts verwenden willst hab ich auch gleich die Interrupt.h mit included.Code:/* * pb328_test.c * * Created: 04.06.2019 20:50:03 * Author : USER */ #define F_CPU 20000000 #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> // ============================================================================= = int main(void) { /* Replace with your application code */ uint8_t i; // // - - - - - - - - - - - - - - - // Ports+Pins als Ein- (0) od Ausgänge (1) konfigurieren, Pull Ups (1) aktivieren // A = Ausgang, E = Eingang ohne , EU = Eingang MIT PullUp // DDRB = 0b01111111; // siehe aktuell oben PORTB = 0b10000000; // und Port/Pull Ups (1) aktivieren // = DDRC = 0b11111111; // PC0..7 PORTC = 0b00000000; // // DDRD = 0b00111111; // -> siehe Schaltplan PORTD = 0b11000011; // Pull Ups aktivieren, NICHT bei extINT0/~1 // // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - for(i=0; i<1000; i++) // LED(PD1) blinken lassen bevor Interrupts erlaubt sind, { // um ungewollte Resets u.ä. besser erkennen zu können PORTD |= (1<<PD1); // rtLED=PD1 ein _delay_ms(970);//970 // ###>>> LED(s) schalten Aode -<|- Portpin <<<### PORTD &= ~(1<<PD1); // rtLED=PD1 aus _delay_ms(30); //30 // } // Ende von for(i=0; i<1000; i++) PORTD = ~(1<<PD1); // rtLED/ auf JEDEN Fall aus // // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - while (1) { } } // Ende // ============================================================================= = // ============================================================================= =







Zitieren

Lesezeichen