新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 瑞薩RA0單片機連載?ADC

瑞薩RA0單片機連載?ADC

作者:lulugl 時間:2025-06-28 來源:EEPW 收藏


本文引用地址:http://www.2s4d.com/article/202506/471811.htm

1   目的

本篇主要實現(xiàn)面向?qū)ο蟮膶︱?qū)ADC,使用電位容調(diào)節(jié)電壓,采集實時電壓并在OLED屏上實時展示。

2   實驗器材

1.生態(tài)社區(qū)RA0E1開發(fā)板:

1751096348126636.png

2.OLED 顯示屏

3.電位器

3   軟件環(huán)境

1.MDK5.39

2.FSP 5.3.0

3.RASC

4   實現(xiàn)步驟

1.打開RASC,選擇FSP 5.3.0(最少選擇5.2.0版本以上)。

2.配置P014為ADC Analog mode 為通道6即ADC0_AN006:

1751096453254260.png

3.新建stack,添加g_adc0_ADC,并按下圖置為通道6,軟件觸發(fā)轉(zhuǎn)換,開啟轉(zhuǎn)換結(jié)果中斷觸發(fā),參考電壓為MCU的VSS與VCC,即3.3V

1751096500806608.png

4.向工程中添加drv_adc函數(shù)。

image.png

1751267334935521.png

image.png

此函數(shù)中主要是把adc0_CHANNEL_6配置成ptDev,對外開放的接口。我們只需要初始化ADCDev后,就可以通過他的init、read、value來做接口訪問就行了。

4.在主函數(shù)中我們初始化ADC并讀取ADC值,顯示于OLED屏上:

view plaincopy to clipboardprint?

1.ADCDevTypeDef *ptAdcDev = ADCGetDevice(); // 生成ADC對象

2.    if(NULL == ptAdcDev)

3.    {

4.        printf(“Error. Not found ADC device!rn”);

5.        return;

6.    }

7.ptAdcDev->Init(ptAdcDev); // 初始化

8.//在while循環(huán)中讀取,并顯示

9.if(!ptAdcDev->Read(ptAdcDev))

10.    {

11.       a0=(ptAdcDev->value/4095.0)*3.3;

12.       sprintf(sprintfbuff ,”ADC:%d, %d.%d”,ptAdcDev->value, (int)a0, (int)(a0*1000)%1000);

13.       ptDispDev->GUI_ShowString(ptDispDev,0,48, sprintfbuff ,16,1);

          }

5   實現(xiàn)效果

將P014接于可變電位器的輸出IO,可以實時測量到電壓:

1751096648311196.png

(本文來源于《EEPW》



關(guān)鍵詞: 202506 瑞薩 RA0單片機

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉