概述
文章主要介紹如何使用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通信接口等)滿足工業自動化項目的需求。
-
單片機
+關注
關注
6077文章
45520瀏覽量
671931 -
adc
+關注
關注
100文章
7534瀏覽量
556441
原文標題:瑞薩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單片機的水位檢測器制作方案

評論