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

[复制链接]
 楼主| 北极星405 发表于 2016-4-1 22:40 | 显示全部楼层 |阅读模式
最近又玩了一下超声波模块,收到板子,也来移植一下,代码很简单,就细说下过程……

首先看下板子布局,准备用TIM1通道1来捕获超声波信号,TIM1的通道1在PE9,
引脚.jpg
为方便接线,Trig脚就选在PE11了,配置管脚,如下图
TIM配置.jpg
同时不要忘记打开UART3,参数默认即可,115200,8,none,1,

接下来配置一下定时器参数,
ITM配置2.jpg
一定要记得选中上升下降沿触发,就在这地方调了好半天没找到怎么回事……
然后打开TIM1中断……
TIM配置3.jpg
然后生成工程文件,编译

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

然后中断处理函数都放在了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");
  }

每秒上报一次距离

串口:
XGt.jpg

接线:
正面.jpg

背面.jpg
附上移植的代码:
超声波测距.rar (3.65 KB, 下载次数: 7)

mmuuss586 发表于 2016-4-2 08:33 | 显示全部楼层

不错,测试效果还是比较稳定的;
huarana 发表于 2016-4-2 22:13 | 显示全部楼层
学习了,下次也玩玩
jinyi7016 发表于 2016-4-2 22:35 | 显示全部楼层
这么快就收到板子了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

459

帖子

7

粉丝
快速回复 在线客服 返回列表 返回顶部