|
u32 m = 0;
int i = 0;
int J = 0;
float lengthTemp = 0;
float sum = 0;
while(i!=5)
{
GPIO_SetBits(GPIOB,GPIO_Pin_6);
delay_us(20);
GPIO_ResetBits(GPIOB,GPIO_Pin_6);
while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==0)
{
J++; //??????????
if(J == 2000) break;
}
if(J < 2000)
{
TIM16->CNT=0;
msHcCount_B=0;
TIM_Cmd(TIM16,ENABLE);
i = i + 1;
while(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_7)==1);
TIM_Cmd(TIM16,DISABLE);
m = msHcCount_B*50000;//??MS
m+=TIM16->CNT;
TIM16->CNT = 0; //TIM2
delay_ms(50);
lengthTemp = ((float)m/58.0);//cm
sum = lengthTemp + sum ;
}
else
{
i = i + 1;
// sum=0;
printf("distance_B=ERROR \r\n");
}
J=0;
}
lengthTemp=sum/5;
printf("distance_B=%03.f \r\n",lengthTemp);
if(lengthTemp<50.00)
{
sendData[75] = 0x31;
}
else
{
sendData[75] = 0x30;
}
}
|
|