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