Hi,
also wenn du in deinen Code den richtigen Port schreibst funktioniert er
Ich habe es gerade mal auf meinem RN-Control mit einem Mega32 und 16MHz getestet.
Du verwendest diese Zeile
DDRA
PORTA
aber schließt die LED an PortC an. Dann kann das nicht funktionieren
Das hier ist der lauffähige Code. Die 100ms habe ich durch 1 Sekunde ersetzt, damit man das besser sieht.
Alternativ kannst du den Code auch so schreiben:Code:/* * AVRGCC2.c * * Created: 09.04.2012 17:03:22 * Author: Daniel */ #include <avr/io.h> #include <util/delay.h> // Funktionen zum warten #define F_CPU 16000000UL int main(void) { DDRC = _BV(0); // Nur PC0 als output, _BV(0) = (1<<0) = 1 PORTC = 254; // Pullups auf allen anderen Pins while (1) { PORTC &= 255-_BV(0); // 0 auf Bit 0 Ausgeben, Rest so lassen _delay_ms(1000); // 1000 ms Warten PORTC |= _BV(0); // 1 auf Bit 0 Ausgeben, Rest so lassen _delay_ms(1000); } }
Das macht den Code etwas kleiner und du hast die selbe Funktion.Code:while (1) { PORTC ^= 0x01; _delay_ms(1000); }
PS: Und er ist bischen übersichtlicher![]()






Zitieren

Lesezeichen