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??
Lesezeichen