概述
文章主要介绍如何使用e2studio灵活软件包(FSP)对瑞萨R7FA2L1AB2DFL单片机开发板进行ADC单通道采集电压,评估AD功能,以及制作水位检测器。其中重点介绍了使用EZ-CUBE3仿真器对RA-Eco-RA2L1-48PIN开发板成功烧录及调试;
同时还使用另一个J-Link烧录固件至J-Link OB-STM32F072,对其升级,支持ARM v8的Renesas芯片烧录及调试,显示p000脚值、ADC电压值、水深值。
AD功能评估
01 创建工程
打开e2studio软件;
依次点击文件-新建-瑞萨C/C++项目-Renesas RA;
依次进行工程命名,路径设置,FSP版本,目标开发板选择,Device选择R7FA2L1AB2DFL,工具链选择GNU ARM Embedded;
完成工程创建。
ADC及串口配置完成后,构建工程,确保无误。
输入代码,实现ADC采集与重定向串口打印输出。
02 使用瑞萨EN-CUBE3仿真器调试

瑞萨EN-CUBE3仿真器
因RA-Eco-RA2L1-48PIN板上没有USB口,RA-Eco-RA2L1-48PIN调试时,左边档位先打到RA档,按下表RA SWD+串口列接线调试。之后,将左边档位打到USB+UART档,进行串口打印。

用瑞萨EN-CUBE3仿真器调试时,项目-属性-工具设置选项为下表所示。

也可以对J-Link OB升级固件,用J-Link OB调试
因J-Link OB不支持ARM v8-M,J-Link OB进行如下改进:
使用另一个J-Link或DAP-Link或ST-Link或PW-Link烧录更新的固件J-Link OB-STM32F072-128KB-CortexM 20231030.bin固件至STM32F072CBT6芯片。

03 演示效果
EN-CUBE3
RA2L1-ADC
04 工程代码
左右滑动查看完整内容
#include"hal_data.h" #includeFSP_CPP_HEADER voidR_BSP_WarmStart(bsp_warm_start_event_tevent); FSP_CPP_FOOTER fsp_err_terr = FSP_SUCCESS; volatilebool uart_send_complete_flag =false; voiduser_uart_callback(uart_callback_args_t* p_args) { if(p_args->event == UART_EVENT_TX_COMPLETE) { uart_send_complete_flag =true; } } /*------------- 串口重定向 -------------*/ #ifdef__GNUC__ #definePUTCHAR_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; returnch; } int_write(intfd,char*pBuffer,intsize) { for(inti=0;i
制作水位检测器
01水位传感器运行原理
当平行铜线之间有水时,水浸没的高度不同,电流不同。铜线间的电阻根据水位的变化而变化。
电阻与水的高度成反比(传感器浸水越深,导电性越好,电阻越小,电流越大)。电路连接:
ADC读取电压(V)与水位高度(mm)为线性相关关系:Y=41.774-38.686
从而得出水位值。RA-Eco-RA2L1-48PIN开发板与水位传感器连线图如下。
02主循环部分代码修改如下
左右滑动查看完整内容
while(1) { uint16_tadc_data25=0; doublea25,wl;// define wl (water level) (void)R_ADC_ScanStart(&g_adc0_ctrl); scan_complete_flag =false; while(!scan_complete_flag) { } err =R_ADC_Read(&g_adc0_ctrl, ADC_CHANNEL_25, &adc_data25); assert(FSP_SUCCESS == err); a25=(double)(adc_data25/4095.0)*3.3; wl = (double)(41.774* a25 -38.686);// water level definition equation printf("P510(AN25)=%d, voltage=%f, water level=%f mm ",adc_data25,a25,wl);// print water level (mm) R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS); }
03演示效果
RA2L1-水位测试
结果结论
瑞萨RA2L1微控制器集成的外设,简化了设计并能加快开发过程。它有优越的关键性能,比如:灵活的连接性(UART通信接口等)满足工业自动化项目的需求。
-
单片机
+关注
关注
6078文章
45628浏览量
675429 -
adc
+关注
关注
100文章
7977浏览量
557389
原文标题:瑞萨RA MCU创意秀 | 基于瑞萨RA2L1 ADC功能测试及水位检测器制作
文章出处:【微信号:瑞萨嵌入式小百科,微信公众号:瑞萨嵌入式小百科】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
【瑞萨RA2L1入门学习】00. 开箱 + 点灯
【瑞萨RA2L1入门学习】+开箱评测
【瑞萨RA2L1入门学习】+Uart printf
瑞萨R7FA2L1AB2DFL上手体验(Part1)--IAR+RSA Setting
瑞萨e2studio(2)----GPIO输出
瑞萨e2studio(3)----GPIO输入检测
基于R7FA2L1AB2DFL demo板测试CLKOUT时钟驱动CAN通讯
RA2L1定时器中断
项目 | 瑞萨RA2L1--电子时钟
基于瑞萨R7FA2E1A72DFL的可触摸灯带控制器设计
基于瑞萨R7FA2L1AB2DFL单片机的水位检测器制作方案

评论