ChristianP.
23.01.2010, 10:08
Hallo Forum
Möchte mit einem ATmega32 einen Stromstoßschalter realisieren, d. h.,
wenn ich den Taster drücke sollen alle LEDs von PORTC leuchten. Bei
nochmaltigen drücken des Tasters sollen alle LEDs wieder ausgehen.
Verwende einen externen PullDown für die Taster.
Habe schon einige Programme probert, jedoch ohne Erfolg.
Vermutlich handelt es sich um einen Denkfehler.
Hier mein derzeitiger Stand:
#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
#include <stdlib.h>
#include <avr/interrupt.h>
int main(void)
{
DDRC = 0xFF;
PORTC =0xFF;
DDRD =0x00;
//PORTD =0xFF; // PullUp aktivieren!!
while(1){
if(PIND & (1<<PD0) && PORTC == 0xFF)
{
PORTC = 0x00;
}
if(PIND & (1<<PD0) && PORTC == 0x00)
{
PORTC = 0xFF;
}
}
}
Danke für eure Hilfe
Möchte mit einem ATmega32 einen Stromstoßschalter realisieren, d. h.,
wenn ich den Taster drücke sollen alle LEDs von PORTC leuchten. Bei
nochmaltigen drücken des Tasters sollen alle LEDs wieder ausgehen.
Verwende einen externen PullDown für die Taster.
Habe schon einige Programme probert, jedoch ohne Erfolg.
Vermutlich handelt es sich um einen Denkfehler.
Hier mein derzeitiger Stand:
#include <avr/io.h>
#define F_CPU 8000000UL
#include <util/delay.h>
#include <stdlib.h>
#include <avr/interrupt.h>
int main(void)
{
DDRC = 0xFF;
PORTC =0xFF;
DDRD =0x00;
//PORTD =0xFF; // PullUp aktivieren!!
while(1){
if(PIND & (1<<PD0) && PORTC == 0xFF)
{
PORTC = 0x00;
}
if(PIND & (1<<PD0) && PORTC == 0x00)
{
PORTC = 0xFF;
}
}
}
Danke für eure Hilfe