我想我想问一下各位大佬,使用HC_SR04超声模块时,程序会卡死在等待接受回波引脚跳变为高电平的等待程序,这是为什么。我是参照网上例子写的,感觉逻辑上是可以的,但就是无法正确接收到回波信号。时由于程序代码逻辑出现了问题吗??
int16_t HC_SR04_Distance_mm(void)
{
uint8_t Distance,i=0 ;
uint8_t Distance_mm=0;
GPIO_WriteBit(GPIOA,GPIO_Pin_3,Bit_SET);
Delay_us(50);
GPIO_WriteBit(GPIOA,GPIO_Pin_3,Bit_RESET);
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2) == Bit_RESET)//卡死,
{
GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_SET);
}
HC_SR04_TIM2Enable();
while(GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2) == Bit_SET)
{
GPIO_WriteBit(GPIOA,GPIO_Pin_4,Bit_RESET);
}
HC_SR04_TIM2Off();
if(((Timer_Read-Timer_Send)/100)
硬创社

登录 或 注册 后才可以进行评论哦!