Moin!

Ich hätte noch einige Fragen zum Programmieren der Atmega32 ICs und zwar:

- Wenn ich mit dem AVR Studio 4/5 folgende C - Datei (steht unten) auf den Atmega schreibe,
kann ich mit diesen die LEDs (5mm / 3mm) ansteuern? Die LEDs sind mit den Ausgängen verbunden.

- Wie kann ich eine zufällige Zahl generieren lassen, damit ich eine If - Abfrage starten kann.
Ich möchte damit errreichen, das z.B. zufällig eine LED in ihrer Reihe angeht.

- Wie kann ich eine Abfrage starten, die merken soll, ob ein Taster (Eingang) gedrückt worden ist oder nicht?





C - Datei:



#ifndef MCU // Welcher AVR genutzt wird, wird i.A. im Makefile definiert
#define MCU atmega32
#endif

#ifndef F_CPU // kann auch im Makefile definiert sein
#define F_CPU 1000000UL // Takt als LONG definieren, da zu groß für Integer
#endif

#include <avr/io.h> // Namen der IO Register
#include <util/delay.h> // Funktionen zum warten
// Achtung, damit delay richtig funktioniert muß mit Optimierung compiliert werden

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(100); // 100 ms Warten
PORTC |= _BV(0); // 1 auf Bit 0 Ausgeben, Rest so lassen
_delay_ms(100);
PORTC |= _BV(1); // 1 auf Bit 1 Ausgeben, Rest so lassen
_delay_ms(100);
PORTC |= _BV(2); // 1 auf Bit 2 Ausgeben, Rest so lassen
_delay_ms(100);


}
}



Vielen Dank schon im Vorraus!