这个程序总是有问题,请大家指教一下..谢谢大家!
#include "delay.h"#include "sys.h"
#include "usart.h"
#include "wdg.h"
#include "timer.h"
#include "pwm.h"
#include "adc.h"
#include "math.h"
#include "stdio.h"
float xiangguan(int *x,int*y);
float shiyan;
int main(void)
{
extern float arryA[114] ;
extern float arryB[114] ;
SystemInit();
delay_init(72); //延时初始化
NVIC_Configuration();
uart_init(9600);
Adc_Init();
ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
shiyan=xiangguan(arryA,arryB) ;//这里总是出错,两个错误都指向这里..
while(1)
{
}
}
float xiangguan(int *x,int *y)
{
float z[15]={0};
float max1,max2,max,temp1,temp2;
float yanchi ;
int i;
char j;
max1=0;
yanchi=0;
for(i=0;i<114;i++)
{
max1=max1+x[i];
}
max1=max1/114;
max2=0;
for(i=0;i<114;i++)
{
max2=max2+y[i];
}
max2=max2/114;
z[7]=0;
for(i=0;i<114;i++)
{
temp1=(float)x[i]-max1;
temp2=(float)y[i]-max2;
z[7]=z[7]+temp1*temp2;
}
for(j=1;j<8;j++)
{
z[j+7]=0;
for(i=0;i<114-j;i++)
{
temp1=(float)x[i]-max1;
temp2=(float)y[i+j]-max2;
z[7+j]=z[7+j]+temp1*temp2;
}
}
for(j=1;j<8;j++)
{
z[7-j]=0;
for(i=0;i<114-j;i++)
{
temp1=(float)y[i]-max2;
temp2=(float)x[i+j]-max1;
z[7-j]=z[7-j]+temp1*temp2;
}
}
max=z[0];
j=0;//清楚j的数值 防止上面j产生的影响-+
for(i=1;i<15;i++)
{
if(z[i]>max)
{
max=z[i];
j=i;
}
}
yanchi=j+(z[j-1]-z[j+1])/2/(z[j-1]-2*z[j]+z[j+1]);
yanchi=yanchi-7;
return yanchi;
}
出现下面两个错误
main.c(32): error: #167: argument of type "float *" is incompatible with parameter of type "int *"
main.c(32): error: #167: argument of type "float *" is incompatible with parameter of type "int *"
[ 本帖最后由 liu3891900 于 2013-5-16 10:41 编辑 ]