Gigi92
07.01.2014, 16:32
Hey Leute,
habe hier ein kleines Problemchen mit nem Programm für den AtTiny13.
Da mein schöner Seifenspender Kaputt ist und ich gerade keine IR Diode zur Hand habe,
habe ich dieses Programm hier geschrieben.
Code ist kommentiert.
Habe mich an das Tutorial von Stefan Frings gehalten.
#define F_CPU 1200000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB = 0b00000011; // Ausgänge
PORTB = 0b00000100; // Pull-Up für Taster.
while (1)
{
if (PINB & 0b00000100) // Abfrage ob Taster gedrueckt
{
PORTB |= 0b00000011; // Schalte PB0 und PB1...
_delay_ms(1500); // ...und pumpe 1,5 sek Seife
PORTB &= 0b11111100; // Schalte PB0 und PB1 wieder ab
}
}
}
Dummerweise lässt er alle 1,5Sek. die entsprechenden LED's auf dem STK500 kurz aufblitzen.
Wenn der Taster gedrueckt ist, wird nach ner ZufallsZeit (0-1,5s) durchgeschaltet und die LED's leuchten solang der
Taster gedrückt ist.
1. Dürfte er ja GARNICHTS tun solange der Schalter nciht gedrückt ist.
2. schaltet er ja WENN er schaltet solange der Schalter gedrückt ist und nicht für 1,5 s.
Hat jemand ne Idee, was dort verkehrt sein kann ?
Lg,
Gigi
habe hier ein kleines Problemchen mit nem Programm für den AtTiny13.
Da mein schöner Seifenspender Kaputt ist und ich gerade keine IR Diode zur Hand habe,
habe ich dieses Programm hier geschrieben.
Code ist kommentiert.
Habe mich an das Tutorial von Stefan Frings gehalten.
#define F_CPU 1200000UL
#include <avr/io.h>
#include <util/delay.h>
int main(void) {
DDRB = 0b00000011; // Ausgänge
PORTB = 0b00000100; // Pull-Up für Taster.
while (1)
{
if (PINB & 0b00000100) // Abfrage ob Taster gedrueckt
{
PORTB |= 0b00000011; // Schalte PB0 und PB1...
_delay_ms(1500); // ...und pumpe 1,5 sek Seife
PORTB &= 0b11111100; // Schalte PB0 und PB1 wieder ab
}
}
}
Dummerweise lässt er alle 1,5Sek. die entsprechenden LED's auf dem STK500 kurz aufblitzen.
Wenn der Taster gedrueckt ist, wird nach ner ZufallsZeit (0-1,5s) durchgeschaltet und die LED's leuchten solang der
Taster gedrückt ist.
1. Dürfte er ja GARNICHTS tun solange der Schalter nciht gedrückt ist.
2. schaltet er ja WENN er schaltet solange der Schalter gedrückt ist und nicht für 1,5 s.
Hat jemand ne Idee, was dort verkehrt sein kann ?
Lg,
Gigi