国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RA MCU眾測寶典 | ADC/DAC之【RA2L1】DAC電壓輸出及ADC電壓采集實驗

RA生態工作室 ? 2026-01-20 18:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

RA MCU眾測寶典ADC/DAC通信專題上線啦!


咱們接下來要解鎖嵌入式開發中“連接模擬與數字世界”的關鍵技能——ADC/DAC專題。


這次,瑞薩嵌入式小百科將和大家一起聚焦【瑞薩RA2L1】開發板,一步步玩轉DAC電壓輸出與ADC電壓采集:從12位DAC的引腳配置、ADC的單通道掃描設置,到代碼中實現電壓值的動態調整與串口打印,一起感受“數字信號轉模擬電壓”“模擬電壓變數字數據”的奇妙過程。


開啟寶典

1

前言

本次實驗內容是先用DAC做電壓輸出,再用ADC進行電壓采集,最后在串口打印查看。



2

硬件部分

2.1

DAC

DAC為數字/模擬轉換模塊,顧名思議,它的作用就是把輸入的數字編碼,轉換成對應的模擬電壓輸出,它的功能與ADC相反。


在常見的數字信號系統中,大部分傳感器信號被化成電壓信號,而ADC把電壓模擬信號轉換成易于計算機存儲、處理的數字編碼,由計算機處理完成后,再由DAC輸出電壓模擬信號,該電壓模擬信號常常用來驅動某些執行器件,使人類易于感知。如音頻信號的采集及還原就是這樣一個過程。


RA2L1開發板搭載的R7FA2L1AB2DFL芯片擁有12位的DAC。


2.2

ADC

ADC即模擬-數字轉換器Analog-to-digital converter),是一種用于將連續的模擬信號轉換為離散的數字信號的器件。就比如我們可以將我們生活中的溫度、壓力、聲音這樣的模擬信號通過ADC轉化為可以通過單片機處理的數字信號。


RA2L1開發板搭載的R7FA2L1AB2DFL芯片擁有12位的ADC。


3

軟件部分


將先前的P項目模板復制一份,重命名為02_DAC-ADC-Voltage


3.1

配置DAC

先進入Pins頁面。

df00483a-f5ec-11f0-8ce9-92fbcf53809c.pngdf0e6d84-f5ec-11f0-8ce9-92fbcf53809c.png

左右滑動查看全部


再來到Stacks頁面。

df2175b4-f5ec-11f0-8ce9-92fbcf53809c.pngdf2e12ba-f5ec-11f0-8ce9-92fbcf53809c.png

左右滑動查看全部


最后配置DAC的屬性。

df3c9560-f5ec-11f0-8ce9-92fbcf53809c.pngdf495778-f5ec-11f0-8ce9-92fbcf53809c.png

左右滑動查看全部


3.1

配置ADC

進入Pins頁面。

df57f68e-f5ec-11f0-8ce9-92fbcf53809c.pngdf6661d8-f5ec-11f0-8ce9-92fbcf53809c.png

左右滑動查看全部


進入Stacks頁面。

df7818ce-f5ec-11f0-8ce9-92fbcf53809c.pngdf838646-f5ec-11f0-8ce9-92fbcf53809c.pngdf91993e-f5ec-11f0-8ce9-92fbcf53809c.pngdf9ebc86-f5ec-11f0-8ce9-92fbcf53809c.pngdfaa7634-f5ec-11f0-8ce9-92fbcf53809c.pngdfb8006a-f5ec-11f0-8ce9-92fbcf53809c.pngdfc4ea0a-f5ec-11f0-8ce9-92fbcf53809c.pngdfd215ea-f5ec-11f0-8ce9-92fbcf53809c.png

左右滑動查看全部


配置完成后,生成項目代碼。


3.3

編寫代碼

3.3.1新建adc.h

新建文件adc.h,加入以下代碼

左右滑動查看完整內容

#ifndefADC_H_#defineADC_H_voidadc0_waitComplete();#endif


3.3.2 新建adc.c

這段代碼中實現了adc的回調函數adc0_callback,當ADC掃描完成時會自動調用。在回調函數中將標志位scan_complete_flag設為true,以便adc0_waitComplete函數退出死循環。


新建文件adc.c,加入以下代碼

左右滑動查看完整內容

#include"adc.h"#include"hal_data.h"
volatilestaticbool scan_complete_flag =true;voidadc0_callback(adc_callback_args_t*p_args){ FSP_PARAMETER_NOT_USED(p_args); scan_complete_flag =true;}
voidadc0_waitComplete(){ scan_complete_flag =false; while(!scan_complete_flag) { /* Wait for callback to*/ }}


3.3.3修改hal_entry.c

在這里要實現用DAC輸出電壓,ADC采集電壓,每隔200ms遞增或遞減一次DAC輸出的電壓值,同時打印到串口。


hal_entry.c的文件開頭加入:

左右滑動查看完整內容

#include"adc.h"uint16_tadc_data =0;


hal_entry函數中加入:

左右滑動查看完整內容

typedefenum { up, down } Direction; Direction d = up; uint16_t dac_value =0; Debug_UART9_Init();//SCI9 UART 調試串口初始化 g_dac0.p_api->open(&g_dac0_ctrl, &g_dac0_cfg); g_dac0.p_api->start(&g_dac0_ctrl);
g_adc0.p_api->open(&g_adc0_ctrl, &g_adc0_cfg); g_adc0.p_api->scanCfg(&g_adc0_ctrl, &g_adc0_channel_cfg); while(1) { g_dac0.p_api->write(&g_dac0_ctrl, dac_value); g_adc0.p_api->scanStart(&g_adc0_ctrl); adc0_waitComplete(); g_adc0.p_api->read(&g_adc0_ctrl, ADC_CHANNEL_0, &adc_data); double volt = (double)(adc_data /4095.0) *3.3; printf("adc_data:%d, 電壓:%.3lf V\n", adc_data, volt); if(d == up) { dac_value +=500; } else { dac_value -=500; } if(dac_value >=4000) { d = down; } if(dac_value ==0) { d = up; } R_BSP_SoftwareDelay(200, BSP_DELAY_UNITS_MILLISECONDS); }


注意,這里是用了面向對象的編程方法,參考教程為:《ARM嵌入式系統中面向對象的模塊編程方法》基于DShanMCU-RA6M5(瑞薩MCU)。


也可以用瑞薩FSP庫的函數編程,一樣的。例如:

左右滑動查看完整內容

g_dac0.p_api->write(&g_dac0_ctrl, dac_value);


就可以用FSP庫代替。

左右滑動查看完整內容

R_DAC_Write(&g_dac0_ctrl, dac_value);


4

下載測試

把編譯好的程序下載到開發板并復位,將P000引腳與P014引腳短接,打開串口助手,可觀察到輸出的adc值與算得的電壓值。


dfe889c4-f5ec-11f0-8ce9-92fbcf53809c.png

點擊可查看大圖


5

工程附件

ded6e184-f5ec-11f0-8ce9-92fbcf53809c.png


工程附件鏈接

https://ramcu.cn/uploads/02_DAC-ADC-Voltage_1751363208.zip

e00397e6-f5ec-11f0-8ce9-92fbcf53809c.png


完成【RA2L1】開發板的ADC/DAC實驗,是不是對“模擬與數字信號的轉換”有了更直觀的認知?



從DAC輸出電壓的遞增遞減,到ADC精準采集后換算成具體電壓值并打印,每一步都讓我們掌握了嵌入式系統處理模擬信號的核心方法。這些在后續做傳感器項目(比如溫感、光敏采集)時都能用得上。



下一個新專題“IIC”已經安排上了——接下來咱們要解鎖“嵌入式多設備協同通信”的技能,比如通過IIC連接溫濕度傳感器OLED顯示屏,實現多模塊的數據交互。關注瑞薩嵌入式小百科,咱們馬上開啟“設備組網通信”的新學習之旅!


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18923

    瀏覽量

    397972
  • adc
    adc
    +關注

    關注

    100

    文章

    7511

    瀏覽量

    555898
  • 電壓
    +關注

    關注

    45

    文章

    5773

    瀏覽量

    121815
  • dac
    dac
    +關注

    關注

    44

    文章

    2713

    瀏覽量

    197064
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【瑞薩RA2L1入門學習】02、DAC電壓輸出ADC電壓采集實驗

    輸出電壓模擬信號,該電壓模擬信號常常用來驅動某些執行器件,使人類易于感知。如音頻信號的采集及還原就是這樣一個過程。 RA2L1開發板搭載的
    發表于 01-26 10:10

    【瑞薩RA2L1入門學習】3. printf輸出

    開發板:RA-Eco-RA2L1-48PIN-V1.0 IDE:e2studio 程序燒錄工具:RAFP 參考資料:“RA2L1入門教學實驗.pdf” 本次使用的是uart9
    發表于 02-05 22:17

    【瑞薩RA2L1入門學習】02. 串口打印 ADC 檢測電壓

    【硬件資源】 RA-Eco-RA2L1-48PIN-V1.0開發板的主控R7FA2L1AB2DFL搭載了12 位 ADC,12 位 DAC。12位A
    發表于 03-07 11:52

    【瑞薩RA2L1入門學習】+Key控制LED實驗

    產品組能夠支持 1.6V 至 5.5V 寬電壓工作,CPU 時鐘頻率最高 48MHz,且運行模式電流和待機模式電流更低。 RA2L1 產品群配備了增強型電容式觸摸感應單元 (CTSU2)、串行通信接口
    發表于 03-07 15:16

    RA-Eco-RA6M4開發板評測】ADCDAC 電壓輸入輸出

    【設置 DAC 模擬電壓輸出】 瑞薩 RA6M4 支持雙通道 12 位 DAC 輸出,代碼里可以
    發表于 07-21 03:54

    RA4E2開發板評測】ADCDAC 電壓輸入輸出

    【設置 DAC 模擬電壓輸出】 瑞薩 RA4E2 支持 12 位 DAC 輸出,代碼里可以設置
    發表于 10-14 09:47

    RA4M2-SENSOR】ADCDAC 電壓輸入輸出

    【設置 DAC 模擬電壓輸出】 瑞薩 RA4M2 支持 12 位 DAC 輸出,代碼里可以設置
    發表于 10-17 00:06

    RA-Eco-RA6M4開發板評測】DAC設置電壓

    輸出外部電壓。 3.2 RA6M4 DAC配置 接下來配置DAC,只需要簡單配置就可使用。 FSP配置
    發表于 11-09 21:47

    【瑞薩RA6E2ADCDAC 電壓輸入輸出

    【設置 DAC 模擬電壓輸出】 瑞薩 RA6E2 支持 12 位 DAC 輸出,代碼里可以設置
    發表于 11-10 01:29

    【瑞薩RA6E2地奇星開發板試用】DAC 輸出指定電壓ADC 電壓檢測

    【設置 DAC 模擬電壓輸出】 瑞薩 RA6E2 支持 12 位 DAC 輸出,代碼里可以設置
    發表于 12-19 18:30

    【瑞薩FPB-RA6E2試用】【FPB-RA6E2DAC-ADC 回環測試:基于 Zephyr RTOS 的模擬信號通路驗證

    ADC 是否能正確采樣 驅動、設備樹、引腳映射是否正確 硬件連線是否可靠 三、整體功能流程圖 初始化 ↓ DAC 輸出 0V / 1V / 2
    發表于 01-16 15:22

    RA2 MCU ADC轉換時間測試方法

    RA2L1子系列低功耗及帶CAN總線,RA2A1子系列增強模擬功能、帶16位ADC及24位Sigma-Delta ADC,RE2E2子系列
    的頭像 發表于 02-08 11:25 ?2414次閱讀

    RA2L1:使用CLKOUT給MCU CAN模塊提供時鐘

    RA2L1:使用CLKOUT給MCU CAN模塊提供時鐘
    的頭像 發表于 11-02 16:27 ?1645次閱讀
    <b class='flag-5'>RA2L1</b>:使用CLKOUT給<b class='flag-5'>MCU</b> CAN模塊提供時鐘

    基于RA2L1實現串口DTC數據接收

    基于RA2L1實現串口DTC數據接收
    的頭像 發表于 10-10 09:34 ?1912次閱讀
    基于<b class='flag-5'>RA2L1</b>實現串口DTC數據接收

    瑞薩RA2L1系列CAN通信應用

    瑞薩RA2L1系列CAN通信應用
    的頭像 發表于 06-26 08:06 ?1916次閱讀
    瑞薩<b class='flag-5'>RA2L1</b>系列CAN通信應用