注册 登录
查看: 333|回复: 3

k60超声波测距卡死在while(!gpio_get(ECHO));

[复制链接]
发表于 2019-8-5 20:03:41 | 显示全部楼层 |阅读模式

#define TRIG PTC11                //定义超声波触发引脚端口
#define ECHO PTC14

  uint32 Time = 0;
int16 Distance = 0;   //测量距离
int16 timevar=0;

void main()
{
  gpio_init (TRIG, GPO,0);  
//  port_init_NoALT (TRIG, PULLUP );
//port_init(TRIG, ALT1|PF   | PULLUP );
    gpio_init (ECHO, GPI,0);
    port_init_NoALT (ECHO, PULLUP );
  
while(1)
{

    gpio_set (TRIG, 1);
   
     pit_delay_us(PIT0, 10);
    // DELAY_US(20);
    gpio_set (TRIG, 0);
   
   
   while(!gpio_get(ECHO));
   
      pit_time_start  (PIT2);
     while(gpio_get(ECHO)==0 )
     {
       Time ++;
       DELAY_MS(1);
       if(Time>240000) break;
     }
    // Time=0;
    timevar = pit_time_get_ms(PIT2);
   
    Distance=timevar*(331.4+0.607*10)/2000;
     DELAY_MS(2000);
}

  
}



用的K60程序一直卡在while(!gpio_get(ECHO)); ,echo引脚一直为低电平,上拉了连接echo的C14,但一接echo引脚电就从3.3V掉到了0V.
求教
回复

使用道具 举报

发表于 2019-8-6 09:27:11 | 显示全部楼层
超时就要放弃等待,认为距离很远
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 13:33:27 | 显示全部楼层
印娅斑 发表于 2019-8-6 09:27
超时就要放弃等待,认为距离很远

我是卡在第一步,压根没进入测距那步骤

回复 支持 反对

使用道具 举报

发表于 2019-8-6 15:13:01 | 显示全部楼层
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部