【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 电压采样、心率计算、串口通信实现心率监测的项目设计包括环境搭建、工程配置、代码、流程图、效果演示等为相关产品的快速开发和应用设计提供了参考。

相关新闻

最新新闻

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现

SerenityOS 命令行选项解析指南:getopt 与 getopt_long 用法、返回值与底层实现 【免费下载链接】serenity The Serenity Operating System 🐞 项目地址: https://gitcode.com/GitHub_Trending/se/serenity 导读 本文以 getopt(3) 手册 为核心&a…

2026/10/1 19:32:24
轻量服务器还是ECS?大促云服务器选购与避坑实战指南

轻量服务器还是ECS?大促云服务器选购与避坑实战指南

每年大促节点,群里永远有人在问同一个问题:“38元的轻量服务器到底怎么抢?为什么我每次点进去都是已售罄?68元直购和99元的ECS我到底选哪个?”作为一个常年帮团队和自己采购云服务器的老用户,我太清楚这种纠…

2026/9/30 21:32:07
为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南

为 AI 代理的 Review 动作编写 Cedar 审批门控策略:review-agent-governance 策略编写实战指南 【免费下载链接】agents Multi-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity 项目地址:…

2026/9/30 19:41:56
PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署

PaddleOCR 手写数学公式识别算法 CAN 实战指南:Counting-Aware Network 训练、评估与推理部署 【免费下载链接】PaddleOCR Turn any PDF or image document into structured data for your AI. A powerful, lightweight OCR toolkit that bridges the gap between i…

2026/10/1 19:32:23
Spring源码解析:构造器注入的类型转换与候选匹配机制

Spring源码解析:构造器注入的类型转换与候选匹配机制

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 19:32:35
openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由

openai-agents-python 多模型接入指南:深入解析 AnyLLMModel 适配层与 any-llm 路由 【免费下载链接】openai-agents-python A lightweight, powerful framework for multi-agent workflows 项目地址: https://gitcode.com/GitHub_Trending/op/openai-agents-pyth…

2026/9/30 21:32:11

日新闻

周新闻

月新闻