RT-Thread Studio之超声波测距(SR04)调试


前言

这篇文章主要是对rtthread studio 软件进行SR04软件包移植,调试总结。

一、RT-Thread Settings配置

1.添加软件包

将sr04软件包添加到系统。
在这里插入图片描述
在这里插入图片描述

2.打硬件定时器与传感器组件

打开组件–>设备驱动程序–>使用HWTIMER设备驱动程序;使用SENSOR驱动程序。最后保存设置。

在这里插入图片描述

二、CubeMX配置

打开CubeMX配置,配置定时器4(有些定时器(例如TIM1)的配置需要仿写,这里为了方便直接利用有的,例如TIM4),在配置输出台(串口1)。
在这里插入图片描述
在这里插入图片描述

三、添加查看宏定义

1.在board.h重新定义

#define BSP_USING_TIM
#define BSP_USING_TIM4
在这里插入图片描述

2.在 stm32f1xx_hal_conf.h添加宏定义

#define HAL_TIM_MODULE_ENABLED
在这里插入图片描述

3.在 board.c添加定时器代码

1)复制cubemx生成的代码
将stm32f1xx_hal_msp.c里面的
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
代码复制。
在这里插入图片描述
2)粘贴并修改至board.c
修改函数名就好。
在这里插入图片描述

4.在 packages修改定时器名字

打开packages包里面的sor04_sample.c 的int rt_hw_sr04_port(void)函数修改timer(本例程用的timer4,将其修改成timer4)

在这里插入图片描述

四、测试实验结果

屏蔽主函数里面的打印函数。打开打印台得到传感器测得的距离值。
在这里插入图片描述

五、注意事项

1)硬件定时器配置,一般得不到距离值都是定时器配置有问题。
2)硬件定时器有些地方代码没有,需要进行仿写(例如TIM1_CONFIG)。
3)CubeMX配置后的代码一定要复制到项目里面来。
4)无法出现结果,硬件定时器配置可以参考PWM篇文章。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值