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!
Lesezeichen