Gast
#885954
Hallo, ich habe mir vor einiger Zeit das Pollin AVR Board in der Version 2.0 gekauft und habe dnan angefangen ein paar kleinigkeiten dait zu machen. Mein aktuelles Ziel ist es das ich ein Datenpacket (4Bytes) an den µC sende und dieser eine entsprechende aktion ausführt. Das ganze hat mit pollen funktioniert, allerdings ist das Ziel das es über interrupts geht. Dazu habe ich mir den angehängten Code ausgedacht. Dabei habe ich mir das wie folgt gedacht: 1) Es gibt einen lese und einen schreib index. 2) Ich warte im hauptprogramm darauf das der schreib index ungleich dem lese index ist. Ist dies der fall lese ich ein Byte aus einem globalen array und erhöhe den lesezeiger. 3) Im EMpfangsinterrupt des µC speichere ich die empfangenen daten im array ab und erhöhe den schreib zeiger. So kann ich wie in einem ringpuffer das array immer wieder durchgehen. Zu Debug-Zwecken habe ich mir mal die positionen ausgeben lesen, doch die Zeiger verändern sich nicht. (Durch einen uart_putc('0'+schreib_index)) Allerdings wird die LED die ich im Interrupt Blinken lasse entsprechend an und aus geschaltet. Kann mir villeicht jemand helfen. Irgend etwas muss ich ja grundlegend noch falsch machen? Ich habe mcih dazu auch slebst informaiert und google u.ä. angestrengt, aber leider nichts gefunden was mir die Frage beantworten könnte. Einen fertigen code möchte ich ungerne nutzen, da ich verstehen möchte warum meine heranngehensweise nicht geht. Gruß, Andre´ P.s.: Ich benutze das Pollin AVR Bard 2.0 (ATMega32 16Mhz) Einen Bootloader (http://hubbard.engr.scu.edu/embedded/avr/bootloader/index.html) Einen USB RS232 Wandler (HugePine?) Das AVR Studio 4.13 Build 528 WinAVR-20080512