当前位置: 首页 > news >正文

windows10php网站建设中国建筑考试网官网首页

windows10php网站建设,中国建筑考试网官网首页,泰安微信网站建设,四川建设公司网站目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 硬件架构 2.1 硬件框架结构 2.2 测距模块#xff08;HC-SR04#xff09;介绍 2.2.1 HC-SR04特性 2.2.2 HC-SR04操作时序 2.2.3 计算距离 3 软件实现 3.1 FSP配置项目 3.1.1 配置IO口的外…目录 概述 1 软硬件 1.1 软硬件环境信息 1.2 开发板信息 1.3 调试器信息 2 硬件架构 2.1 硬件框架结构 2.2 测距模块HC-SR04介绍 2.2.1 HC-SR04特性 2.2.2 HC-SR04操作时序 2.2.3 计算距离 3 软件实现 3.1 FSP配置项目 3.1.1 配置IO口的外部中断 3.1.2 配置定时器 3.2 代码架构 3.3 驱动实现 4 测试 4.1 编译代码 4.2 验证 源代码下载地址 https://www.firebbs.cn/forum.php?modviewthreadtid37943 概述 本文主要介绍Renesas R7FA8D1BH (Cortex®-M85) 上超声波测距模块HC-SR04驱动开发的过程笔者介绍了HC-SR04测距模块驱动的实现原理并使用FSP配置外围驱动接口并编写驱动代码实现测距的功能。在Renesas R7FA8D1BH板卡上通过改变距离参数验证驱动程序的功能。 1 软硬件 1.1 软硬件环境信息 软硬件信息版本信息Renesas MCUR7FA8D1BHKeilMDK ARM 5.38FSP 版本5.3.0调试工具N32G45XVL-STBDAP-LINK 1.2 开发板信息 笔者选择使用野火耀阳开发板_瑞萨RA8该板块的主控MCU为R7FA8D1BHECBD7FA8D1BHECBD的内核为ARM Contex-M85。 1.3 调试器信息 对于R7FA8D1BHECBD芯片其使用的内核为Cortex®-M85 Core, ST-LINK-V2或者J-LINK-V9不支持下载和调试功能。笔者经过多次尝试发现N32G45XVL-STB板卡上自带的DAP-LINK可以下载和调试R7FA8D1BHECBD。 下图为N32G45XVL-STB开发板实物图 2 硬件架构 2.1 硬件框架结构 IO接口配置功能 触发信号接口P7_10 送触发信号10us的脉冲 测距数据响应接口P7_09: 该IO配置外部中断响应模式用于接收HC-SR04发回的脉冲信号 TIMER-0: 配置为10us响应速度用于计算数据的脉冲宽度 系统工作框架结构如下 2.2 测距模块HC-SR04介绍 2.2.1 HC-SR04特性 2.2.2 HC-SR04操作时序 工作原理 Step -1: TRIG IO 收到10us 高电平 step - 2:  SR04自动发送8个40hz方波并检测是否有信号返回 step - 3SR04检测到返回信号ECHO IO发送高电平高电平持续时间为SR04发送波信号到返回波信号的时间。 具体工作波形图如下 2.2.3 计算距离 以厘米为单位计算公式 距离 us/58(单位 cm), us为ECHO IO接收的高电平的持续时间时间单位为: 微妙 以英寸为单位计算公式 距离 us/148(单位 英寸), us为ECHO IO接收的高电平的持续时间时间单位为: 微妙 3 软件实现 3.1 FSP配置项目 3.1.1 配置IO口的外部中断 1 创建外部中断stack 2配置参数 需要配置的参数如下 1选择通道号 2回调函数 3IO接口 3.1.2 配置定时器 1创建定时器的stack 2配置参数 需要配置的参数如下 1通道号 2周期 3)  最小周期单元 4中断回调函数 3.2 代码架构 完成以上参数配置后就可以使用FSP生成工程代码其代码架构如下 3.3 驱动实现 1初始化函数 函数static void timer5_Init(void)实现定时器的驱动初始化功能 代码32行打开定时器 代码36行启动定时器 代码39行启动计数功能 函数void HC_SR04_Init ( void )实现HC_SR04模块初始化功能该函数可以被外部其他函数调用 代码48行 代码IO外部中断aima 代码52行打开外部中断 代码55行调用定时器初始化函数启动定时器以实现计算脉冲宽度功能 2触发函数和定时器回调函数 3外部中断回调函数 代码90行启动定时器开始计数 代码94行停止定时器 代码95行计算距离数据 源代码文件如下 /*FILE NAME : sht2x.cDescription: user sht20 interface Author : tangmingfei2013126.comDate : 2024/06/03*/ #include hal_data.h #include hc_sr04.h#define timeDelayUS(us) R_BSP_SoftwareDelay(us, BSP_DELAY_UNITS_MICROSECONDS);#define ICU_IRQN_PIN BSP_IO_PORT_07_PIN_09 #define ICU_IRQN 10#define TRIG BSP_IO_PORT_07_PIN_10#define TRIG_H R_IOPORT_PinWrite(g_ioport_ctrl, TRIG, BSP_IO_LEVEL_HIGH) #define TRIG_L R_IOPORT_PinWrite(g_ioport_ctrl, TRIG, BSP_IO_LEVEL_LOW)static bool bl_trigger false; static uint32_t tick_cnt_1us; static int state 0;static float distance;static void timer5_Init(void) {fsp_err_t err FSP_SUCCESS;/* Initializes the module. */err R_AGT_Open(g_timer5_ctrl, g_timer5_cfg);/* Handle any errors. This function should be defined by the user. */assert(FSP_SUCCESS err);/* Start the timer. */err R_AGT_Start(g_timer5_ctrl);assert(FSP_SUCCESS err);err R_AGT_Enable(g_timer5_ctrl);assert(FSP_SUCCESS err); }void HC_SR04_Init ( void ) {/* Configure the external interrupt. */fsp_err_t err R_ICU_ExternalIrqOpen(g_external_irq10_ctrl, g_external_irq10_cfg);assert(FSP_SUCCESS err);/* Enable the external interrupt. *//* Enable not required when used with ELC or DMAC. */err R_ICU_ExternalIrqEnable(g_external_irq10_ctrl);assert(FSP_SUCCESS err);timer5_Init(); }void HC_SR04_Trigger( void ) {bl_trigger true;TRIG_H;timeDelayUS(10);TRIG_L;state 0; }void g_timer5_Callback (timer_callback_args_t * p_args) {if (TIMER_EVENT_CYCLE_END p_args-event){tick_cnt_1us;} }/* Called from icu_irq_isr */ void external_irq10_callback (external_irq_callback_args_t * p_args) {fsp_err_t err FSP_SUCCESS;(void) p_args;switch( state ){default:case 0:tick_cnt_1us 0;state 1;err R_AGT_Enable(g_timer5_ctrl);assert(FSP_SUCCESS err);break;case 1:err R_AGT_Disable(g_timer5_ctrl);distance (float)(tick_cnt_1us/5.8);state 0;tick_cnt_1us 0;assert(FSP_SUCCESS err);break;} }void debug_SR04_LOG( void ) {user_get_rtc(); }float HC_SR04_getDistance( void ) {return distance; }/* End of this file */4 测试 4.1 编译代码 系统硬件平台如下 编译代码下载到板卡中运行 4.2 验证 改变距离后在OLED得到当前的距离数据
http://www.dnsts.com.cn/news/253942.html

相关文章:

  • 江门市网站开发国外商城网站设计
  • 一句话介绍网站开发网络建站工作室
  • 郑州市网站和公众号建设55g游戏网
  • 鼓楼做网站公司哪家好上海企业管理培训公司
  • 太原网站建设谁家好做网站常见程序
  • 沙田仿做网站使用wordpress搭建手机网站
  • 绿建设计院网站电商设计类插画
  • 辽宁城乡住房建设厅网站ui界面设计教程
  • easyui 网站开发实现泰州百度关键词优化
  • 营销型网站有哪些类网站开发类
  • 上海松江网站建设北京迈程网络网站建设公司
  • 商务网站建设项目的技术可行性微信公众号运营
  • 网站建设项目报价网页设计用什么软件
  • 网站建设与管理 吴代文如何自己制作游戏软件
  • iis建设网站验证wordpress
  • 菏泽郓城网站建设公司网站为什么被k
  • 在华图做网站编辑自建网站餐饮服务提供者
  • 做板材外贸一般用哪个网站网站企业建设
  • 企业网站建设网站有哪些网站建设如何推广业务
  • 禅城做网站wordpress签到插件
  • php网站开发实例代码2015wordpress漏洞
  • 北海 做网站 英文软装设计费收费标准
  • 网站被墙是谁做的俄罗斯乌克兰最新消息
  • 企业网站建设培训wordpress用nginx
  • 南山模板网站建设公司试描述一下网站建设的基本流程图
  • 浙江省建设监理协会网站做国外贸易的网站
  • 免费建立自己的网站代理网页设计图片怎么插
  • 深圳建网站好的公司中国采购网官方网站
  • 一级a做爰片免费网站给我看看wordpress+优化速度
  • 宁波电商网站建设开发基于wordpress开发教程