智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 5381|回复: 27
打印 上一主题 下一主题

超声波代码 大家帮忙看看

  [复制链接]

18

主题

346

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2515

优秀会员奖章活跃会员奖章

威望
1198
贡献
703
兑换币
752
注册时间
2012-12-24
在线时间
307 小时
跳转到指定楼层
1#
发表于 2014-4-13 10:23:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 老学童先生 于 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);       //清中断标志位
}

回复

使用道具 举报

19

主题

59

帖子

0

精华

高级会员

Rank: 4

积分
586
威望
339
贡献
143
兑换币
177
注册时间
2013-9-12
在线时间
52 小时
毕业学校
黄山学院
28#
发表于 2015-4-18 11:25:20 | 只看该作者
楼主超声波问题应该解决了吧,可以教我一下吗,我现在也在弄超声波,希望可以指导下我
回复 支持 反对

使用道具 举报

0

主题

96

帖子

0

精华

金牌会员

^_^fighting!

Rank: 6Rank: 6

积分
1447

优秀会员奖章活跃会员奖章

威望
649
贡献
536
兑换币
427
注册时间
2014-7-22
在线时间
131 小时
27#
发表于 2015-4-11 15:04:53 | 只看该作者
790480085@qq.com谢谢楼主,能不能发一份
回复 支持 反对

使用道具 举报

1

主题

20

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
438
威望
232
贡献
134
兑换币
140
注册时间
2013-11-13
在线时间
36 小时
毕业学校
HUANANAHB
26#
发表于 2015-3-20 15:28:50 | 只看该作者
同求
2787193319@qq.com.谢谢
回复 支持 反对

使用道具 举报

0

主题

3

帖子

0

精华

注册会员

Rank: 2

积分
35
威望
22
贡献
13
兑换币
5
注册时间
2014-8-9
在线时间
0 小时
毕业学校
湘南
25#
发表于 2014-8-9 12:26:11 | 只看该作者
记号,以后参考
回复 支持 反对

使用道具 举报

0

主题

6

帖子

0

精华

注册会员

Rank: 2

积分
38
威望
30
贡献
4
兑换币
7
注册时间
2014-7-20
在线时间
2 小时
毕业学校
湖南文理学院
24#
发表于 2014-7-20 12:20:27 | 只看该作者
希望有用
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
威望
105
贡献
61
兑换币
67
注册时间
2014-2-10
在线时间
20 小时
23#
发表于 2014-7-11 21:56:18 | 只看该作者
我的超声波程序一直有问题,能发一下吗,大神。。。。谢了啊,小女子写了好久了都只能一次测距,谢了啊。。977750377@qq.com
回复 支持 反对

使用道具 举报

0

主题

54

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
477
威望
256
贡献
129
兑换币
167
注册时间
2014-3-22
在线时间
46 小时
22#
发表于 2014-5-22 20:35:05 | 只看该作者
表示有点没有看懂
回复 支持 反对

使用道具 举报

18

主题

346

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2515

优秀会员奖章活跃会员奖章

威望
1198
贡献
703
兑换币
752
注册时间
2012-12-24
在线时间
307 小时
21#
 楼主| 发表于 2014-5-18 19:54:53 | 只看该作者
15282600864 发表于 2014-5-18 18:40
程序文件地址有问题,程序报错   还有定时器这些都已经注释掉了  能发一份完整的吗

没有哈 这是是我最新的哈 用的PIT计时呢   我发的就是备份文件
回复 支持 反对

使用道具 举报

5

主题

57

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1275
威望
648
贡献
355
兑换币
426
注册时间
2014-1-17
在线时间
136 小时
毕业学校
重庆机电职业技术学院
20#
发表于 2014-5-18 18:40:00 | 只看该作者
老学童先生 发表于 2014-5-18 16:49
已经重新发了

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-27 02:56 , Processed in 0.056737 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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