Liebe Roboternetz-Gemeinde,
früher hatte ich bereits kurz mit den Mikrocontrollern zu tun gehabt (kleines Schulprojekt) und
bin nun aber auch auf den Geschmack gekommen. Obwohl ich ehrlich gesagt noch nicht so die Ahnung in Sachen
Elektrotechnik habe, bin ich bereit mich dahinter zu klemmen und voll durchzustarten.
Ein paar Dinge habe ich auch schon bereits geschafft:
Mein Steckboard ist seit ein paar Stunden folgendermaßen bestückt:
-> Stromversorgung via Festspannungsregler
-> ATmega644P + Ext. 20Mhz Quarz
-> 4x 5V LED`s an Ports (PORTB 0 - 3)
Ansteuerung der LED`s funktioniert wunderbar über folgenden Code...
Code:
#include <avr/io.h>
//definiert den CPU Takt
#define F_CPU 20000000UL
#include <util/delay.h>
#include <inttypes.h>
#include <avr/interrupt.h>
int main()
{
DDRB |= (1<<0) | (1<<1) | (1<<2) | (1<<3); // LED-Ausgänge Output schalten...
// Die LED`s werden der Reihe nach ein bzw. ausgeschaltet...
while(1){
PORTB |= (1<<0);
_delay_ms(500);
PORTB &= (0<<0);
PORTB |= (1<<1);
_delay_ms(500);
PORTB &= (0<<1);
PORTB |= (1<<2);
_delay_ms(500);
PORTB &= (0<<2);
}
}
Nun würde ich es ganz gerne schaffen, das ich auf Ereignisse wie bspw. das Drücken von Tastern (PortA0 [INT0]) reagieren kann.
Diese Routinen sollen natürlich nicht im Hauptprogramm Main als Schleife verewigt werden, sondern "nebenbei" herlaufen.
Also über eine ISR wenn ich das richtig verstanden habe. Leider habe ich noch nicht wirklich den Bogen raus, wie das ganze funktionieren soll.
Finde leider keine simplen Beispiele dafür. Und wenn dann nur für Assembler oder Bascom.
Kann mir wer einen Tipp geben?
Vielen Dank schonmal im vorraus
Propeller Clock
Lesezeichen