打印
[STM32F4]

【NucleoF446ZE】+串口重定向和超声波

[复制链接]
1070|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
最近又玩了一下超声波模块,收到板子,也来移植一下,代码很简单,就细说下过程……

首先看下板子布局,准备用TIM1通道1来捕获超声波信号,TIM1的通道1在PE9,

为方便接线,Trig脚就选在PE11了,配置管脚,如下图

同时不要忘记打开UART3,参数默认即可,115200,8,none,1,

接下来配置一下定时器参数,

一定要记得选中上升下降沿触发,就在这地方调了好半天没找到怎么回事……
然后打开TIM1中断……

然后生成工程文件,编译

在BEGIN0 和END0之间添加下面两段代码就可以实现串口重定向到printf(添加其他地方应该也可以),


然后中断处理函数都放在了Echo.c这个驱动里面
测试函数就这一段:
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
        For_Echo();                                                //触发测距
        HAL_Delay(1000);
        if(Echo_State ==Echo_Finished)
                printf("距离:%d mm\r\n",Get_Distance(Echo_Last));
        else
                printf("测距失败!\r\n");
  }

每秒上报一次距离

串口:


接线:



附上移植的代码:
超声波测距.rar (3.65 KB)

沙发
mmuuss586| | 2016-4-2 08:33 | 只看该作者

不错,测试效果还是比较稳定的;

使用特权

评论回复
板凳
huarana| | 2016-4-2 22:13 | 只看该作者
学习了,下次也玩玩

使用特权

评论回复
地板
jinyi7016| | 2016-4-2 22:35 | 只看该作者
这么快就收到板子了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

459

帖子

7

粉丝