Achso
Es fehlt auch noch eine Endlosschleife, sonst ist das Programm so schnell zu Ende, das du keine Zeit hast, zu drücken
Code:
//Testprogramm zum testen der LEDs und Schalter
//Der Schalter hängt an PortD Pin 2, die LEDs hängen an PortC
#include <avr/io.h>
#include <inttypes.h>
#ifndef F_CPU
#define F_CPU 3686400UL /* Quarz mit 3.6864 Mhz */
#endif
#include <avr/delay.h> /* definiert _delay_ms() ab avr-libc Version 1.2.0 */
int main(void)
{
DDRC = 0xFF; // PortC Ausgänge
DDRD = 0x00; // PortD Eingänge
PORTD = 0xFF; //Pullups PortD aktiviert
while(1) {
//Bit 2 an PORTD auswerten
if ( ! (PIND & 0x04)) //Wenn PortD Bit2 0 hat
{
PORTC=0xFF; //Schalter gedrückt
}
else
{
PORTC=0x00; //Schalter nicht gedrückt
}
}
return 0;
}
Lesezeichen