智能车制作

标题: K60超声波测距出了点小问题了。附我的程序。可以参考 [打印本页]

作者: zhangxin1992109    时间: 2014-4-5 20:48
标题: K60超声波测距出了点小问题了。附我的程序。可以参考
我使用的是K60。在KEIL中编译的。没用库函数。超声波直接连接IO口。现在超声波E_CHo返回的波形是这样的如图:低电平和高电平输出直接是在3V的基础上的,,求大神讲解[attach]57992[/attach]
int main (void)
{       
       
        __disable_irq();
        sys_init();
        __enable_irq();
//        SCIDebug();

        while(1)
        {         static int L_distance = 0;
                 static int        L_Echo=0;
                L_Echo=(PTD->PDIR & 0x00001000);
            L_Echo=L_Echo>>12;

           Delay(60);

          L_Trig_On;   //Trig脚拉高
                 NVIC_EnableIRQ(PIT1_IRQn);//开启定时器   
      while(!(count>=40));//等待20us
          NVIC_DisableIRQ(PIT1_IRQn);
      count=0;    //计数清零
      L_Trig_Off;   //Trig脚拉低
          
       // PTA15_OUT=0;//指示灯亮
                                   
      while(!(L_Echo&0x1));//等待Echo脚拉高
     NVIC_EnableIRQ(PIT1_IRQn);//开启定时器     
      while(!(L_Echo|0x0 || count>=4500));      //等待Echo脚拉低或计时溢出
          if(count>4500)
          {
                  count=0;
          }
      L_distance = count*17/20;  //计算距离,单位mm

         NVIC_DisableIRQ(PIT1_IRQn);//关闭定时器
         count=0;


         
                 // return L_distance;
                 if(L_distance<1000)
           {
           //        led_turn(led4);
                led_set(led4,on);
          
           }else{
                      led_turn(led4);
           }
    }

}

作者: Complicated    时间: 2014-4-5 22:21
顶一顶
作者: allenanswerzq    时间: 2014-4-5 22:57
你和我宿舍哥们的名字一致,哈哈哈,支持一个

作者: 梦回恋泉    时间: 2014-4-10 17:45
哥们,超声波测试好了吗???K60可不可以直连???
作者: duck111    时间: 2015-3-12 19:53
这个超声波有反应吗?

作者: Mr.Orange00    时间: 2015-4-13 21:26
你的示波器上是返回信号吗




欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2