Hallo zusammen!

ich wollte diese kleine Aufgabe :
Lese von Port A, Pin 4 den Zustand eines Tasters ein und gebe ihn auf Port A, Pin 5 aus (wo eine LED eingesclossen ist )

für ATMEGA32

Code:
//*******************************************
// READ FROM AP03 WRITE TO AP04

//*******************************************

#include <avr/io.h>

#define LED 4
#define TASTER 3
#define LED_ON PORTA |= (1 << LED )
#define LED_OFF PORTA &= ~( 1<< LED )
#define VALUE_TASTER  bit_is_set (PINA, TASTER)



 uint8_t VALUE;

// Initialisierung

void init (void)
{
        DDRA |= (1 << LED);        // PIN5 von DDRA als ausgang
		
		DDRA &= ~( 1<< TASTER);        // PIN4 von DDRA als eingang
		PORTA |= (1 << TASTER);       // Interne Pullup einschalten
}



int main (void)

{
  init();
  
  VALUE = VALUE_TASTER;
  
  while (1)
  
  {

      if ( VALUE==1)
         

	  LED_ON;

      else
  
      LED_OFF;
           
   }

 return 0;
}
kompilieren war min 0 fehler
aber wurde mir gesagt dass es nicht funktionnieren wird weil es wird nur der Status des Tasters beim Einlesen festgehalten und auf die LED abgebildet.


Ich habe den fehler aber nicht gefunden, könnt ihr mir bitte helfen??

Danke!