Das folgende Programm ist in AVR-GCC geschrieben und für AT90S2333 oder kompatibie. macht nichts anderes als: Wenn das Zeichen 'a' geschickt wird, geht die LED an Port P0 aus, wenn das Zeichen 's' empfangen wurde geht die LED wieder an. Hervorragend zum Testen geeignet. #define CPU_CLOCK 4000000 // Frequenz in Hertz, ggf ändern #include <io.h> // Für allgemeine I/O Funktionen #include <sig-avr.h> // Für interrupts notwendig #include <interrupt.h> // --''-- void init_serial(void) { // Das UART für den Empfang aktivieren sbi(UCSRB, RXEN); sbi(UCSRB, RXCIE); // Baudrate einstellen (ich weiss, geht über outp besser) asm volatile("ldi r16,4000000/(9600*16)-1" "\n\t" "out 0x09,r16"); } SIGNAL(SIG_UART_RECV) { switch(inp(UDR)) { case 'a': outp(0xFF, PORTB); break; case 's': outp(0x00, PORTB); break; default: break; } } void init_io(void) { // Alle Pins von Port B als Ausgänge konfigurieren outp(0xFF, DDRB); } int main(void) { init_serial(); // Alle seriellen Sachen initialisieren init_io(); // I/O Ports konfigurieren sei(); // Interrupts einschalten while(1); // Warteschleife return(0); }
Sorry ich möchte nur wissen was STK zu bedeuten hat? Danke! Sala
Hi, STK steht für Starter-Kit. Mehr Infos dazu findest Du im Wiki: http://www.mikrocontroller.net/wiki/STK200 cya edd
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.