【RA-Eco-RA2T1开发板】心率监测仪 【RA-Eco-RA2T1开发板】心率监测仪本文介绍了 RA-Eco-RA2T1-48PIN-V1.0 开发板结合心率传感器模块通过 ADC 电压采样、心率计算、串口通信实现心率监测的项目设计包括环境搭建、工程配置、代码、流程图、效果演示等。项目介绍准备工作心率传感器模块、硬件连接、环境搭建工程测试工程创建、工程配置、流程图、代码、编译上传、效果演示。心率传感器心率传感器采用光电容积脉搏波描记法通过测量血液中血红蛋白随心脏跳动而对氧气吸收的变化量来测量人体心率参数。具有响应快性能稳定适应性强等特点。模块拥有方波和脉搏波两种信号输出模式可以通过板载开关去自由切换输出信号。脉搏波将输出一个连续的心率波形而方波将根据心率的变化输出对应的方波。心率传感器体积小巧可以佩戴于手指、手腕等检测位置。硬件连接连接心率传感器模块和 RA2T1 开发板心率传感器RA2T1NoteSignalP013 (AN000)DataGNDGNDGroundVCC3V3Power使用杜邦线连接 JLINK-OB 和 RA2T1实现工程调试、固件上传、串口通信接线方式如下Jlink-OBRA2T1NoteDIOSWDIOData I/OCLKSWCLKClockRXDTXD (P109)TransmiteTXDRXD (P110)ReceiveGNDGNDGround3V3VCCPower实物图环境搭建搭建和使用 e2studio IDE 开发环境。下载并安装 瑞萨FSP (flexible software package) 灵活配置软件包 安装时注意选择 GNU ARM 工具链工程创建文件 - 新建 - 瑞萨 C/C 项目 -Renesas RA自定义设备选择R7FA2T1074CFL调试器选择 J-Link 项目创建完成后选择进入透视图模式工程配置工程配置包括引脚 GPIO 配置、时钟配置、串口配置、ADC 配置。引脚配置进入 FSP 配置界面打开 Pins 标签页使能 Peripherals - Analog:ADC - ADC0操作模式为自定义选择输入引脚 AN000 - P013时钟配置根据原理图可知板载 XTAL 晶振频率为 20MHz这里使用 HOCO 内部晶振时钟树保持默认配置。串口配置进入 FSP 配置界面打开 Pins 标签页根据原理图板载 CH340 对应串口引脚为 P109 和 P110因此将 SCI9 配置为异步串口模式打开Stacks标签页新建串口通信堆栈New Stack-Connectivity-UART (r_sci_uart)串口属性配置General 标签下的 Channel 改为 9名称改为g_uart9中断回调函数命名为user_uart9_callback进入 BSP 标签页配置 RA Common 属性RA Common 标签下的 Heap size 改为0x2000ADC 配置进入Stacks标签页新建 ADC 堆栈New Stack-Analog-ADC (r_adc)选中 ADC 堆栈进入属性标签及参数配置在 Input 选项下通道模式为 Scan勾选Temperature Sensor选项中断配置Interrupts-Callback值修改为user_adc0_callback优先级设置为Priority 2触发源为软件 点击Generate Project Content右键项目文件夹构建工程确认无报错流程图工程代码打开./src/hal_entry.c文件添加如下代码#include hal_data.h #include stdio.h #include hc595.h fsp_err_t err FSP_SUCCESS; volatile bool uart_send_complete_flag false; void user_uart9_callback (uart_callback_args_t * p_args) { if(p_args-event UART_EVENT_TX_COMPLETE) { uart_send_complete_flag true; } } #ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) #else #endif PUTCHAR_PROTOTYPE { err R_SCI_UART_Write(g_uart9_ctrl, (uint8_t *)ch, 1); if(FSP_SUCCESS ! err) __BKPT(); while(uart_send_complete_flag false){} uart_send_complete_flag false; return ch; } int _write(int fd,char *pBuffer,int size) { for(int i0;isize;i) { __io_putchar(*pBuffer); } return size; } /*------------- ADC callback -------------*/ volatile bool scan_complete_flag false; void uaser_adc0_callback (adc_callback_args_t * p_args) { FSP_PARAMETER_NOT_USED(p_args); scan_complete_flag true; } /* -------- ADC raw voltage -------- */ static void get_adc_voltage(uint16_t *p_raw, float *p_volt) { uint16_t adc_raw; /* 1. 启动 ADC 并等待完成 */ R_ADC_ScanStart(g_adc0_ctrl); adc_status_t status { .state ADC_STATE_SCAN_IN_PROGRESS }; while (status.state ADC_STATE_SCAN_IN_PROGRESS) { R_ADC_StatusGet(g_adc0_ctrl, status); } /* 2. 读adc通道原始码值 */ err R_ADC_Read(g_adc0_ctrl, ADC_CHANNEL_0, adc_raw); assert(FSP_SUCCESS err); /* 3. ADC 电压转换 */ float volt (float)(adc_raw/4095.0)*3.3; /* 4. 返回数据 */ *p_raw adc_raw; *p_volt volt; } void hal_entry(void) { /* Initializes UART */ err R_SCI_UART_Open(g_uart9_ctrl, g_uart9_cfg); assert(FSP_SUCCESS err); /* Initializes the module. */ err R_ADC_Open(g_adc0_ctrl, g_adc0_cfg); assert(FSP_SUCCESS err); while(1) { uint16_t adc_raw; float volt; get_adc_voltage(adc_raw, volt); printf({\adc\: %u, \volt\: %.3f}\r\n,adc_raw,volt); R_BSP_SoftwareDelay (50, BSP_DELAY_UNITS_MILLISECONDS); } }保存文件。工程编译右键项目文件夹选择属性进入C/C 构建-设置选项进入GNU Arm Cross Create Flash Image - General选项在输出格式中选择Intel HEX应用并关闭右键项目文件夹构建工程确认无报错查看工程目录下的Debug文件夹生成相应的 HEX 格式的固件固件上传开发板支持串口烧录、J-Link、EZ-Cube 调试器烧录等这里使用 JLINK-OB 调试工程。点击工具栏的小虫子 Debug 按钮进入调试界面或右键项目文件夹选择调试配置选中当前项目对应的 elf 文件调试工具为 JLINK开始调试进入调试界面点击菜单栏的运行按钮程序开始执行效果演示打开网页串口绘图工具 高性能WebSerial串口绘图工具 配置参数连接串口开始采集根据串口数据绘图结果可获取心电图。总结本文介绍了 RA-Eco-RA2T1-48PIN-V1.0 开发板结合心率传感器模块通过 ADC 电压采样、心率计算、串口通信实现心率监测的项目设计包括环境搭建、工程配置、代码、流程图、效果演示等为相关产品的快速开发和应用设计提供了参考。

相关新闻

最新新闻

单图3D重建实战:基于NeRF与参数化模型创建可驱动数字人

单图3D重建实战:基于NeRF与参数化模型创建可驱动数字人

1. 项目概述:从2D到3D的“魔法”包装如果你曾经对着屏幕里一张普通的2D照片,幻想过它变成一个可以360度旋转、能触摸到纹理的立体模型,那么你很可能已经接触过“3D重建”这个概念。但传统的3D重建,无论是通过多视角拍摄还是激光扫…

2026/8/3 2:12:57
Unity RPG游戏开发实战:从模块化架构到数据驱动设计

Unity RPG游戏开发实战:从模块化架构到数据驱动设计

1. 项目概述:从零到一构建你的Unity RPG世界如果你一直想亲手打造一个属于自己的角色扮演游戏(RPG),却苦于不知从何下手,那么这个名为“UnityRPGv2”的项目教程,可能就是为你量身定制的蓝图。它不是一个简单…

2026/8/3 2:12:57
SuperCopy插件原理与实战:破解网页复制限制的技术解析

SuperCopy插件原理与实战:破解网页复制限制的技术解析

1. 项目概述:当网页文字“锁”住时,我们如何优雅地“拿”走?作为一名长期与各种网页打交道的从业者,我几乎每天都会遇到一个令人抓狂的场景:急需引用某段文字、复制一个代码片段,或者保存一篇重要的文章时&…

2026/8/3 2:12:57
基于SpringBoot的宠物领养系统开发与优化实践

基于SpringBoot的宠物领养系统开发与优化实践

1. 项目概述与核心价值 宠物领养系统是一个基于Java技术栈开发的综合性平台,旨在连接宠物救助机构与潜在领养者。这个采用SpringBootSSM框架构建的系统,解决了传统线下领养流程中的信息不对称、手续繁琐等痛点。我在实际开发中发现,相比市面通…

2026/8/3 2:12:57
Tenstorrent HC1 AI推理芯片:ASIC如何挑战英伟达GPU霸权

Tenstorrent HC1 AI推理芯片:ASIC如何挑战英伟达GPU霸权

1. 项目概述:一场瞄准AI推理的“精准狙击”最近在芯片圈和AI圈,一个消息炸开了锅:一支由24名前AMD顶级工程师组成的“梦之队”,成立了一家名为“Tenstorrent”的公司,并推出了一款代号为“HC1”的AI推理芯片。他们喊出…

2026/8/3 2:12:57
Zotero插件市场终极指南:一站式管理所有插件的高效解决方案

Zotero插件市场终极指南:一站式管理所有插件的高效解决方案

Zotero插件市场终极指南:一站式管理所有插件的高效解决方案 【免费下载链接】zotero-addons Zotero Add-on Market | Zotero插件市场 | Browsing and installing plugins within Zotero 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-addons 你是否曾…

2026/8/3 2:07:57