/*
* Reading switch & controlling LED
* Programming in avr-gcc style
*/
#include <avr/io.h>
#include <util/delay.h>
const int led=PD4;
const int sw=PD2;
int main(){
// configure led pin as output, switch pin as input
DDRD |= (1<<led);
DDRD &= ~(1<<sw);
while (1){
if (!(PIND & (1<<sw)))
PORTD |= (1<<led);
else
PORTD &= ~(1<<led);
}
}