OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6797|回复: 10

STM32F407超声波测距

[复制链接]

18

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
232
金钱
232
注册时间
2017-3-19
在线时间
39 小时
发表于 2017-5-23 11:18:49 | 显示全部楼层 |阅读模式
1金钱
哪里出了问题,搞不懂。

nt main(void)
{
   int distance ;  
    u16 TIM = 0;
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//éèÖÃÏμí3ÖD¶ÏóÅÏè¼¶·Ö×é2
    delay_init(168);  //3õê¼»ˉÑóê±oˉêy
   LED_Init();                                //3õê¼»ˉLED¶Ë¿ú
        uart_init(115200);

         TIM3_Int_Init(5000-1,8400-1);        //¶¨ê±Æ÷ê±Öó84M£¬·ÖÆμÏμêy8400£¬ËùòÔ84M/420=200KhzμļÆêyÆμÂ꣬¼Æêy5000′ÎÎa500ms  
  Ultran_Init()        ;
        while(1)
        {
    GPIO_SetBits(ULTRA_PORT, ULTRA_TRIG);   //¸øtrig′óóú10usμĸßμçÆ½
    delay_us(20);  
    GPIO_ResetBits(ULTRA_PORT, ULTRA_TRIG);  

    while(!GPIO_ReadInputDataBit(ULTRA_PORT, ULTRA_ECHO))   //μè′yecho¸ßμçÆ½
    TIM_SetCounter(TIM3,0);
                TIM_Cmd(TIM3,ENABLE);                          //¶¨ê±Æ÷¼ÆêyÆ÷ÖÃá㣬òòÎa′óÕaàï¿a꼼Ǽ¸ßμçÆ½ê±¼ä
    while(GPIO_ReadInputDataBit(ULTRA_PORT, ULTRA_ECHO))      //μè′yμíμçÆ½
    TIM_Cmd(TIM3, DISABLE);             //¸ßμçÆ½½áêø£¬1رն¨ê±Æ÷

    TIM = TIM_GetCounter(TIM3);  
    distance = TIM*0.85;
                printf("distance is = %d cm\r\n",distance);
                delay_ms(500);
                LED0=!LED0;
        }
}


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

29

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2016-7-16
在线时间
22 小时
发表于 2018-9-13 11:49:00 | 显示全部楼层
回复

使用道具 举报

34

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2018-9-16
在线时间
240 小时
发表于 2018-9-16 18:24:01 | 显示全部楼层
这个F407的超声波模块我玩过,把定时器配置成输入捕获模式,捕获高低电平时间,通过超声波模块转换就可以把距离显示在串口助手上,不过你这个代码有点乱,一些time.c里面配置的怎么放到主函数来了 ,逻辑结构不是很清晰
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-11
在线时间
9 小时
发表于 2019-6-11 13:31:39 来自手机 | 显示全部楼层
plue 发表于 2018-9-16 18:24
这个F407的超声波模块我玩过,把定时器配置成输入捕获模式,捕获高低电平时间,通过超声波模块转换就可以把 ...

大佬,你现在还有代码吗,我现在在研究,但一直没有找到stm32的代码
回复

使用道具 举报

3

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2019-5-17
在线时间
47 小时
发表于 2019-6-11 15:01:44 | 显示全部楼层
yqp 发表于 2019-6-11 13:31
大佬,你现在还有代码吗,我现在在研究,但一直没有找到stm32的代码

我有写好的代码。
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-11
在线时间
9 小时
发表于 2019-6-11 15:43:10 来自手机 | 显示全部楼层
Gobben 发表于 2019-6-11 15:01
我有写好的代码。

能发给我参考一下吗
回复

使用道具 举报

34

主题

331

帖子

0

精华

高级会员

Rank: 4

积分
857
金钱
857
注册时间
2018-9-16
在线时间
240 小时
发表于 2019-6-11 15:47:26 | 显示全部楼层
yqp 发表于 2019-6-11 13:31
大佬,你现在还有代码吗,我现在在研究,但一直没有找到stm32的代码

用在小车上了
回复

使用道具 举报

1

主题

10

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2019-6-11
在线时间
9 小时
发表于 2019-6-11 15:52:22 来自手机 | 显示全部楼层
plue 发表于 2019-6-11 15:47
用在小车上了

能发一份给我吗
回复

使用道具 举报

3

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2019-5-17
在线时间
47 小时
发表于 2019-6-11 21:07:32 | 显示全部楼层
yqp 发表于 2019-6-11 15:43
能发给我参考一下吗

我的是hcsr04模块

HCSR04.rar

796.79 KB, 下载次数: 371

回复

使用道具 举报

0

主题

1

帖子

0

精华

新手入门

积分
6
金钱
6
注册时间
2019-8-2
在线时间
2 小时
发表于 2019-8-2 22:03:11 | 显示全部楼层
Gobben 发表于 2019-6-11 21:07
我的是hcsr04模块

你好 我刚刚用你发的hcsr04程序配合stmF4做了一遍 但是这个程序好像跟超声波模块没有联系 因为把超声波模块去除以后 按按键PA0(KEY-UP) 串口屏上也有距离显示 而且距离显示是错的  求大佬解答 是不是我哪个地方没弄清你的意思呢
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2019-5-16
在线时间
8 小时
发表于 2019-8-4 13:31:28 | 显示全部楼层
Rosezll 发表于 2019-8-2 22:03
你好 我刚刚用你发的hcsr04程序配合stmF4做了一遍 但是这个程序好像跟超声波模块没有联系 因为把超声波模 ...

那是因为和KEY UP共用了PA0
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-15 20:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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