瑞萨单片机(R5F100LE)利用中断和定时器HC_SR04超声波测距模块

    HC_SR04超声波测距模块是一个很常见的模块,瑞萨的驱动还不多见,就写了这个文章,当然这个模块使用起来是比较简单的,但大多数情况下大家都使用了阻塞性的代码如while(ECHO)什么的,这样看起了有点不优雅。这篇文章介绍一个无阻塞的实现方式。

    使用了两个定器一个100us的间隔定时器用于计算ECHO高电平时间当然这样只能精确到330*0.0001 = 0.033M = 3.3CM,如果你想要更高的精度你可以用一个更精确的间隔定时器。另一个定时器为一毫秒间隔定时器,作为全局时间变量。用了一个外部中断配置为both模式,上升沿下降沿多触发中断。用于检测echo高电平时间。开P13.0口用来调试。

//引脚接线
TRIG 接P0.0
ECHO 接外部中断INTP0(P13.7)
VCC-VCC
GND-GND

下图是代码生成器的配置:

224233_LbkQ_2255341.jpg

224238_bwHo_2255341.jpg

224243_lnuy_2255341.jpg

224247_XBSb_2255341.jpg

224254_B9WW_2255341.jpg

224300_9v4G_2255341.jpg

224305_Uyi8_2255341.jpg

下面是主函数代码,主要作用

就是每隔500MS触发一次,超声波传感器。

/***********************************************************************************************************************
* File Name    : r_main.c
* Version      : CodeGenerator for RL78/G13 V2.00.00.07 [22 Feb 2013]
* Device(s)    : R5F100LE
* Tool-Chain   : CA78K0R
* Description  : This file implements main function.
* Creation Date: 2015/7/13
***********************************************************************************************************************/

/*********************************************
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值