hallo,
wies aussieht arbeite ich alle alten threads durch
ich hab nämlich hier auch ein kleines problem.
folgender code:
Code:
#include <avr/io.h>
#define LED (1)
#define BUTTON (1)
int main(void)
{
/* PORTB.PIN1 to output */
DDRB |= _BV(LED);
/* PORTA.PIN1 to input */
DDRA &= ~_BV(BUTTON);
/* activate internal pullups */
PORTA |= _BV(BUTTON);
PORTB |= _BV(LED);
for (;;) {
if (bit_is_set(PINA, BUTTON)) {
if (!bit_is_set(PINB, LED)) {
PORTB |= _BV(LED);
} else {
PORTB &= ~_BV(LED);
}
}
}
return(0);
}
mit der beschaltung wie im anhang.
ich habe jetzt das problem, dass die LED an PINB1 immer schwach leuchtet. Sobald ich den Taster drücke, leuchtet die LED heller bzw. hört ganz auf zu leuchten, jedoch wechselt sie immer wieder in den schwach-leuchte-zustand zurück, sobald man den taster loslässt.
-- 1: wieso leuchtet die LED immer schwach?
-- 2: Sollte folgender Befehl die LED nicht durchgehend leuchten lassen
und durch den untenstehenden befehl beim nächsten tastendruck wieder ausschalten?
Code:
PORTB &= ~_BV(LED);
Jedenfalls würd ich das Datenblatt so interpretieren.
Ist sicher was ganz dummes aber ich komm einfach nicht drauf..
danke nochmal + lg
Lesezeichen