概述
文章主要介紹如何使用e2studio靈活軟件包(FSP)對(duì)瑞薩R7FA2L1AB2DFL單片機(jī)開發(fā)板進(jìn)行ADC單通道采集電壓,評(píng)估AD功能,以及制作水位檢測器。其中重點(diǎn)介紹了使用EZ-CUBE3仿真器對(duì)RA-Eco-RA2L1-48PIN開發(fā)板成功燒錄及調(diào)試;
同時(shí)還使用另一個(gè)J-Link燒錄固件至J-Link OB-STM32F072,對(duì)其升級(jí),支持ARM v8的Renesas芯片燒錄及調(diào)試,顯示p000腳值、ADC電壓值、水深值。
AD功能評(píng)估
01 創(chuàng)建工程
打開e2studio軟件;
依次點(diǎn)擊文件-新建-瑞薩C/C++項(xiàng)目-Renesas RA;
依次進(jìn)行工程命名,路徑設(shè)置,F(xiàn)SP版本,目標(biāo)開發(fā)板選擇,Device選擇R7FA2L1AB2DFL,工具鏈選擇GNU ARM Embedded;
完成工程創(chuàng)建。
ADC及串口配置完成后,構(gòu)建工程,確保無誤。
輸入代碼,實(shí)現(xiàn)ADC采集與重定向串口打印輸出。
02 使用瑞薩EN-CUBE3仿真器調(diào)試

瑞薩EN-CUBE3仿真器
因RA-Eco-RA2L1-48PIN板上沒有USB口,RA-Eco-RA2L1-48PIN調(diào)試時(shí),左邊檔位先打到RA檔,按下表RA SWD+串口列接線調(diào)試。之后,將左邊檔位打到USB+UART檔,進(jìn)行串口打印。

用瑞薩EN-CUBE3仿真器調(diào)試時(shí),項(xiàng)目-屬性-工具設(shè)置選項(xiàng)為下表所示。

也可以對(duì)J-Link OB升級(jí)固件,用J-Link OB調(diào)試
因J-Link OB不支持ARM v8-M,J-Link OB進(jìn)行如下改進(jìn):
使用另一個(gè)J-Link或DAP-Link或ST-Link或PW-Link燒錄更新的固件J-Link OB-STM32F072-128KB-CortexM 20231030.bin固件至STM32F072CBT6芯片。

03 演示效果
EN-CUBE3
RA2L1-ADC
04 工程代碼
左右滑動(dòng)查看完整內(nèi)容
#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水位傳感器運(yùn)行原理
當(dāng)平行銅線之間有水時(shí),水浸沒的高度不同,電流不同。銅線間的電阻根據(jù)水位的變化而變化。
電阻與水的高度成反比(傳感器浸水越深,導(dǎo)電性越好,電阻越小,電流越大)。電路連接:
ADC讀取電壓(V)與水位高度(mm)為線性相關(guān)關(guān)系:Y=41.774-38.686
從而得出水位值。RA-Eco-RA2L1-48PIN開發(fā)板與水位傳感器連線圖如下。
02主循環(huán)部分代碼修改如下
左右滑動(dòng)查看完整內(nèi)容
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-水位測試
結(jié)果結(jié)論
瑞薩RA2L1微控制器集成的外設(shè),簡化了設(shè)計(jì)并能加快開發(fā)過程。它有優(yōu)越的關(guān)鍵性能,比如:靈活的連接性(UART通信接口等)滿足工業(yè)自動(dòng)化項(xiàng)目的需求。
-
單片機(jī)
+關(guān)注
關(guān)注
6077文章
45521瀏覽量
671938 -
adc
+關(guān)注
關(guān)注
100文章
7534瀏覽量
556446
原文標(biāo)題:瑞薩RA MCU創(chuàng)意秀 | 基于瑞薩RA2L1 ADC功能測試及水位檢測器制作
文章出處:【微信號(hào):瑞薩嵌入式小百科,微信公眾號(hào):瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
【瑞薩RA2L1入門學(xué)習(xí)】00. 開箱 + 點(diǎn)燈
【瑞薩RA2L1入門學(xué)習(xí)】+開箱評(píng)測
【瑞薩**RA2L1入門學(xué)習(xí)】+**UART測試實(shí)驗(yàn)
【瑞薩RA2L1入門學(xué)習(xí)】+Uart printf
瑞薩R7FA2L1AB2DFL上手體驗(yàn)(Part1)--IAR+RSA Setting
瑞薩e2studio(2)----GPIO輸出
瑞薩e2studio(3)----GPIO輸入檢測
基于R7FA2L1AB2DFL demo板測試CLKOUT時(shí)鐘驅(qū)動(dòng)CAN通訊
RA2L1定時(shí)器中斷
瑞薩e2studio----RA2L1通過傳感器檢測溫濕度
項(xiàng)目 | 瑞薩RA2L1--電子時(shí)鐘
基于瑞薩R7FA2E1A52DFL MCU的觸控系統(tǒng)設(shè)計(jì)與J-link仿真
基于瑞薩R7FA2E1A72DFL的可觸摸燈帶控制器設(shè)計(jì)
基于瑞薩R7FA2L1AB2DFL單片機(jī)的水位檢測器制作方案

評(píng)論