Code:
#include <inttypes.h>

/* Teil 1. Bandpassfilter*/



void bpfilter(int8_t *input,int8_t *output, uint16_t *length, int32_t koeff)
{

int32_t a2;                                       	/* a2 als Integervariable festlegen*/
int32_t a3;                                       	/* a3 als Integervariable festlegen*/
int32_t GAIN_FRAC;                                	/* GAIN_FRAC als Integervariable festlegen*/
int32_t x0,x1,x2;                                 	/* x0,x1,x2 als Integervariable festlegen*/
int32_t y0,y1,y2;                                 	/* y0,y1,y2 Integervariable festlegen*/
uint16_t n;                                       	/* n Integervariable festlegen*/
uint16_t i;                                       	/* i als Integervariable festlegen*/


x1=0;                                             	/* Wert für x1 festlegen*/
x2=0;                                             	/* Wert für x2 festlegen*/
y0=0;                                             	/* Wert für y0 festlegen*/
y1=0;                                             	/* Wert für y1 festlegen*/
y2=0;                                             	/* Wert für y2 festlegen*/
x0=1;                                             	/* Wert für x0 festlegen*/
length=100;		                          	/* Wert für length festlegen*/

  for (i=1;i<7;i++)				        /* Schleife zählt bis 6 hoch, um die Werte mit jedem Bandpass zu filtern*/
  {
    if (i==1)                                           /* Schleife 1 mit den Werten für Bandpass 1*/
	   {
	    a2=2;
	    a3=3;
	    GAIN_FRAC=4;
	   }
	if (i==2)	                                /* Schleife 2 mit den Werten für Bandpass 2*/
	   {
        a2=1;
	    a3=2;
	    GAIN_FRAC=3;
	   }
	if (i==3)                                       /* Schleife 3 mit den Werten für Bandpass 3*/
	   {
        a2=3;
	    a3=2;
	    GAIN_FRAC=1;
	   }
    if (i==4)                                          /* Schleife 4 mit den Werten für Bandpass 4*/
	   {
        a2=4;
	    a3=2;
	    GAIN_FRAC=3;
	   }
    if (i==5)                                          /* Schleife 5 mit den Werten für Bandpass 5*/
	   {
        a2=1;
	    a3=1;
	    GAIN_FRAC=1;
	   }
    if (i==6)                                         /* Schleife 6 mit den Werten für Bandpass 6*/
	   {
        a2=2;
	    a3=4;
	    GAIN_FRAC=3;
	   }

	     for (n=0;n<length;n++)                  /* Schleife bis n alle Eingangswerte verarbeitet hat (length legt die Anzahl der Eingangswerte fest)*/
		   {
		   x0=input;                                /* x0 als Eingang festlegen*/
		   y0=x0-x2-((a2*y1)>>16)-((a3*y2)>>16);    /* Gleichung um y0 zu berechnen*/		   
		   x2=x1;
		   x1=x0;
		   y2=y1;
		   y1=y0;

		   output[n]=((y0*GAIN_FRAC)>>16);          /* Gleichung um Ausgang zu berechnen*/
		   }

    
  }


/* Teil 2. LEDs ANSTEUERN und Befehl erstellen*/

/* Teil 3. Versenden des Befehls über IR-DIODE*/
}
ok habe jetzt nur noch die fehler und errors:

../ZUSATZ155.c: In function 'bpfilter':
../ZUSATZ155.c:34: warning: assignment makes pointer from integer without a cast
../ZUSATZ155.c:75: warning: comparison between pointer and integer
../ZUSATZ155.c:77: warning: assignment makes integer from pointer without a cast
../ZUSATZ155.c:21: warning: 'GAIN_FRAC' may be used uninitialized in this function
../ZUSATZ155.c:20: warning: 'a3' may be used uninitialized in this function
../ZUSATZ155.c:19: warning: 'a2' may be used uninitialized in this function
c:/winavr-20080610/bin/../lib/gcc/avr/4.3.0/../../../../avr/lib/avr4/crtm8.o.init9+0x0): undefined reference to `main'
make: *** [ZUSATZ155.elf] Error 1
Build failed with 1 errors and 6 warnings...


das mit dem error und das mit length kapier ich nicht ganz??