【RA-Eco-RA2T1開發(fā)板】心率監(jiān)測儀
【RA-Eco-RA2T1開發(fā)板】心率監(jiān)測儀本文介紹了 RA-Eco-RA2T1-48PIN-V1.0 開發(fā)板結合心率傳感器模塊通過 ADC 電壓采樣、心率計算、串口通信實現(xiàn)心率監(jiān)測的項目設計包括環(huán)境搭建、工程配置、代碼、流程圖、效果演示等。項目介紹準備工作心率傳感器模塊、硬件連接、環(huán)境搭建工程測試工程創(chuàng)建、工程配置、流程圖、代碼、編譯上傳、效果演示。心率傳感器心率傳感器采用光電容積脈搏波描記法通過測量血液中血紅蛋白隨心臟跳動而對氧氣吸收的變化量來測量人體心率參數。具有響應快性能穩(wěn)定適應性強等特點。模塊擁有方波和脈搏波兩種信號輸出模式可以通過板載開關去自由切換輸出信號。脈搏波將輸出一個連續(xù)的心率波形而方波將根據心率的變化輸出對應的方波。心率傳感器體積小巧可以佩戴于手指、手腕等檢測位置。硬件連接連接心率傳感器模塊和 RA2T1 開發(fā)板心率傳感器RA2T1NoteSignalP013 (AN000)DataGNDGNDGroundVCC3V3Power使用杜邦線連接 JLINK-OB 和 RA2T1實現(xiàn)工程調試、固件上傳、串口通信接線方式如下Jlink-OBRA2T1NoteDIOSWDIOData I/OCLKSWCLKClockRXDTXD (P109)TransmiteTXDRXD (P110)ReceiveGNDGNDGround3V3VCCPower實物圖環(huán)境搭建搭建和使用 e2studio IDE 開發(fā)環(huán)境。下載并安裝 瑞薩FSP (flexible software package) 靈活配置軟件包 安裝時注意選擇 GNU ARM 工具鏈工程創(chuàng)建文件 - 新建 - 瑞薩 C/C 項目 -Renesas RA自定義設備選擇R7FA2T1074CFL調試器選擇 J-Link 項目創(chuàng)建完成后選擇進入透視圖模式工程配置工程配置包括引腳 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優(yōu)先級設置為Priority 2觸發(fā)源為軟件 點擊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 格式的固件固件上傳開發(fā)板支持串口燒錄、J-Link、EZ-Cube 調試器燒錄等這里使用 JLINK-OB 調試工程。點擊工具欄的小蟲子 Debug 按鈕進入調試界面或右鍵項目文件夾選擇調試配置選中當前項目對應的 elf 文件調試工具為 JLINK開始調試進入調試界面點擊菜單欄的運行按鈕程序開始執(zhí)行效果演示打開網頁串口繪圖工具 高性能WebSerial串口繪圖工具 配置參數連接串口開始采集根據串口數據繪圖結果可獲取心電圖??偨Y本文介紹了 RA-Eco-RA2T1-48PIN-V1.0 開發(fā)板結合心率傳感器模塊通過 ADC 電壓采樣、心率計算、串口通信實現(xiàn)心率監(jiān)測的項目設計包括環(huán)境搭建、工程配置、代碼、流程圖、效果演示等為相關產品的快速開發(fā)和應用設計提供了參考。

相關新聞

Grove三軸加速度計MMA7660FC實戰(zhàn):從I2C通信到姿態(tài)解算

Grove三軸加速度計MMA7660FC實戰(zhàn):從I2C通信到姿態(tài)解算

1. 項目概述:從“Grove - 三軸數字加速度計(1.5g)”說起如果你玩過Arduino或者樹莓派,大概率聽說過Grove這個生態(tài)系統(tǒng)。它最大的魅力,就是把一堆復雜的傳感器、執(zhí)行器,變成了像樂高積木一樣可以“咔噠”一聲插上就用的模塊&#x…

2026/8/2 19:27:02 閱讀更多
OpenGL 3D圖形開發(fā):從MVP矩陣到第一人稱攝像機實現(xiàn)

OpenGL 3D圖形開發(fā):從MVP矩陣到第一人稱攝像機實現(xiàn)

1. 項目概述與核心價值如果你已經跟著上一章的內容,成功搭建好了C和OpenGL的開發(fā)環(huán)境,并且讓第一個三角形在屏幕上亮了起來,那么恭喜你,你已經跨過了從零到一最艱難的那道坎。這一章,我們要做的不是繼續(xù)畫更復雜的圖形…

2026/8/2 19:27:02 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南

3分鐘搞定!QQ空間歷史說說完整備份終極指南 【免費下載鏈接】GetQzonehistory 獲取QQ空間發(fā)布的歷史說說 項目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾想過,那些年發(fā)過的QQ空間說說,那些記錄青春的文字…

2026/8/2 0:04:01 閱讀更多
AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O 分配 PCB

AMAT 0100-02186 I/O分配PCB板是應用材料(Applied Materials)公司生產的一款用于半導體設備的I/O信號分配電路板。該型號(0100-02186)的核心特點如下:專用于Endura等半導體工藝腔室。集成信號路由與分配功能。連接控制…

2026/8/2 2:51:21 閱讀更多
Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機

Nissei Corp FFMN-32L-10-T0 40AX 三相異步電動機是日本日清(Nissei)品牌的一款工業(yè)用三相異步電機,適用于自動化設備及通用機械驅動。該型號(FFMN-32L-10-T0 40AX)的核心特點如下:三相交流異步電動機。額定…

2026/8/2 2:52:49 閱讀更多