智能车制作

标题: 超声波代码 大家帮忙看看 [打印本页]

作者: 老学童先生    时间: 2014-4-13 10:23
标题: 超声波代码 大家帮忙看看
本帖最后由 老学童先生 于 2014-4-13 10:31 编辑

#include "common.h"
#include "include.h"
#define  Trig   PTA27  //超声波输入(触发)
#define  Echo   PTD6  //超声波接收

#define  led1  PTB20_OUT//野火自带的led灯


void PORTD_IRQHandler(void);        //PORTD端口中断服务函数
void PIT0_IRQHandler(void);
uint8  m=0;
uint32  t=0;
uint8  f=0;
//uint32 time=0;
//uint32 time_rising=0;
//float  distance=0;
uint32 distance=0;
void HC_SR04_Send(void)
{

gpio_set(Trig, 1);
DELAY_US(20);
gpio_set(Trig, 0);

//printf("\n Trig\n");
}



void main()
{
   // printf("\n*****csb测试*****\n");
    gpio_init (Trig, GPO,0);
    DELAY_US(2);

   pit_init_us(PIT0, 100);                          //定时 1000 个bus时钟 后中断  100us
   set_vector_handler(PIT0_VECTORn,PIT0_IRQHandler);   // 设置中断复位函数到中断向量表里
   // enable_irq(PIT1_IRQn);                       //IRQ_RISING   IRQ_FALLING  IRQ_EITHER
    port_init(Echo, ALT1 | IRQ_EITHER | PULLUP );          //初始化 PTD7 管脚,复用功能为GPIO ,下降沿触发中断,上拉电阻
    set_vector_handler(PORTD_VECTORn ,PORTD_IRQHandler);    //设置PORTE的中断复位函数为 PORTE_IRQHandler
    enable_irq (PORTD_IRQn);                                //使能PORTE中断
     //HC_SR04_Send();
     //DELAY_MS(50);
    while(1)
    {
        HC_SR04_Send();

        DELAY_MS(500);

    }
}


void PORTD_IRQHandler(void)
{


    uint8  n = 0;    //引脚号
    n = 6;
    m++;
    if(PORTD_ISFR & (1 << n))           //PTD7 触发中断
    {
        PORTD_ISFR  = (1 << n);        //写1清中断标志位

        /*  以下为用户任务  */

      //  printf("\n按下按键\n");
       // key_handler();
         if(m==1)
          {
            t=0;
        
          enable_irq(PIT0_IRQn);                         // 使能LPTMR

      


          }
         if((m==2)||(t>=348))
          {
           disable_irq(PIT0_IRQn);
           if(t>=348)
             t=348;
        
           distance=17*t;//(340*t*100us)/2=17*t 为啥是实际距离的两倍?????
           printf("\n distance为:%d mm\n",distance);    //打印延时时间
        
           m=0;
        

          }  
        /*  以上为用户任务  */
    }

}

void PIT0_IRQHandler(void)
{

    t++;
    PIT_Flag_Clear(PIT0);       //清中断标志位
}


作者: 老学童先生    时间: 2014-4-13 10:58
distance 为啥是实际距离的两倍??

作者: dingyongbin    时间: 2014-4-13 13:21
????

作者: 老学童先生    时间: 2014-4-13 21:39
dingyongbin 发表于 2014-4-13 13:21
????

啥意思?

作者: QQ520    时间: 2014-4-15 14:38
大哥,你那里看出来是实际的2被了!!!
作者: 老学童先生    时间: 2014-4-15 15:24
QQ520 发表于 2014-4-15 14:38
大哥,你那里看出来是实际的2被了!!!

已解决了 。。。

作者: 雨子    时间: 2014-4-15 16:06

作者: 老学童先生    时间: 2014-4-15 16:08
雨子 发表于 2014-4-15 16:06

????

作者: 雨子    时间: 2014-4-15 16:13
老学童先生 发表于 2014-4-15 16:08
????

你看看超声波的原理不就知道啦
作者: 老学童先生    时间: 2014-4-15 16:17
雨子 发表于 2014-4-15 16:13
你看看超声波的原理不就知道啦

额  谢谢提醒

作者: QQ520    时间: 2014-4-16 20:58
老学童先生 发表于 2014-4-15 15:24
已解决了 。。。

大哥。。。。。能不能给我一份代码,求指教!我们从51移植过来不等行!谢谢啦

作者: 15282600864    时间: 2014-5-17 19:39
老学童先生 发表于 2014-4-15 15:24
已解决了 。。。

为何我抄的你的程序   显示数据一直都是17mm啊

作者: 老学童先生    时间: 2014-5-17 20:00
15282600864 发表于 2014-5-17 19:39
为何我抄的你的程序   显示数据一直都是17mm啊

?????

作者: 15282600864    时间: 2014-5-17 20:12
本帖最后由 15282600864 于 2014-5-17 20:14 编辑
老学童先生 发表于 2014-5-17 20:00
?????

能把你调试出来的超声波原程序发我一份吗    我没调试出来823638601@qq.com

作者: 老学童先生    时间: 2014-5-17 20:35
15282600864 发表于 2014-5-17 20:12
能把你调试出来的超声波原程序发我一份吗    我没调试出来

yifa

作者: 15282600864    时间: 2014-5-17 20:42
老学童先生 发表于 2014-5-17 20:35
yifa

未收到附件  收到的是一个空白邮箱

作者: 15282600864    时间: 2014-5-17 21:18
老学童先生 发表于 2014-5-17 20:35
yifa

?????????????????

作者: 老学童先生    时间: 2014-5-18 16:44
yifa
作者: 老学童先生    时间: 2014-5-18 16:49
15282600864 发表于 2014-5-17 21:18
?????????????????

已经重新发了

作者: 15282600864    时间: 2014-5-18 18:40
老学童先生 发表于 2014-5-18 16:49
已经重新发了

程序文件地址有问题,程序报错   还有定时器这些都已经注释掉了  能发一份完整的吗

作者: 老学童先生    时间: 2014-5-18 19:54
15282600864 发表于 2014-5-18 18:40
程序文件地址有问题,程序报错   还有定时器这些都已经注释掉了  能发一份完整的吗

没有哈 这是是我最新的哈 用的PIT计时呢   我发的就是备份文件

作者: 锦邵伽    时间: 2014-5-22 20:35
表示有点没有看懂
作者: 云烟缈缈    时间: 2014-7-11 21:56
我的超声波程序一直有问题,能发一下吗,大神。。。。谢了啊,小女子写了好久了都只能一次测距,谢了啊。。977750377@qq.com
作者: 风中ζ尘埃℡    时间: 2014-7-20 12:20
希望有用
作者: yarnn    时间: 2014-8-9 12:26
记号,以后参考
作者: duck111    时间: 2015-3-20 15:28
同求
2787193319@qq.com.谢谢
作者: _clearlove    时间: 2015-4-11 15:04
790480085@qq.com谢谢楼主,能不能发一份

作者: 堕落守护    时间: 2015-4-18 11:25
楼主超声波问题应该解决了吧,可以教我一下吗,我现在也在弄超声波,希望可以指导下我




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