RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

RA6M3 HMI Board 之ADC獲取電壓值

嵌入式大雜燴 ? 來(lái)源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2023-06-17 10:35 ? 次閱讀

開(kāi)發(fā)環(huán)境:

RT-Thread Studio:v2.2.6

開(kāi)發(fā)板:RA6M3 HMI Board開(kāi)發(fā)板

MCU:R7FA6M3AH3CFB

1 RA6M3 ADC簡(jiǎn)介

R7FA6M3有2個(gè)ADC單元,每個(gè)ADC單元有12位、10位、8位讀取數(shù)據(jù)的格式可以選擇,在單元0上有13個(gè)ADC通道,而在單元1上有16個(gè)ADC通道。 ADC單元具有三種掃描方式分別為:?jiǎn)未蚊枘J?、連續(xù)掃描模式和分組掃描模式,

1686969149446vro265o7fi

2 RT-Thread 的ADC簡(jiǎn)介

ADC(Analog-to-Digital Converter) 指模數(shù)轉(zhuǎn)換器。是指將連續(xù)變化的模擬信號(hào)轉(zhuǎn)換為離散的數(shù)字信號(hào)的器件。

A/D轉(zhuǎn)換主要包括兩個(gè)內(nèi)容:采樣保持和量化編碼,將一個(gè)模擬信號(hào)進(jìn)行采樣,得到的樣點(diǎn)轉(zhuǎn)化為數(shù)字量,這是整個(gè)A/D轉(zhuǎn)換過(guò)程的核心,量化編碼分為好多算法,這里不深入研究了。ADC主要參數(shù)如下:

1.分辨率

AD轉(zhuǎn)換器輸出的數(shù)字量的最低位變化一個(gè)數(shù)時(shí),對(duì)應(yīng)輸入模擬量的變化量,A/D轉(zhuǎn)換器的位數(shù)越多,能夠分辨的最小模擬電壓值就越小,分辨率就越大,GD32的A/D轉(zhuǎn)換器是12位的,位數(shù)越多,表示分辨率越高,恢復(fù)模擬信號(hào)時(shí)會(huì)更精確。

2.相對(duì)精度

A/D轉(zhuǎn)換器實(shí)際輸出數(shù)字量與理論值之間的最大差值稱為相對(duì)精度。

3.轉(zhuǎn)換速度

A/D轉(zhuǎn)換器完成一次轉(zhuǎn)換所需要的時(shí)間,一般是us級(jí)別的。

應(yīng)用程序通過(guò) RT-Thread 提供的 ADC 設(shè)備管理接口來(lái)訪問(wèn) ADC 硬件,相關(guān)接口如下所示:

函數(shù) 描述
rt_device_find() 根據(jù)ADC設(shè)備名稱查找設(shè)備獲取設(shè)備句柄
rt_adc_enable() 使能ADC設(shè)備
rt_adc_read() 讀取ADC設(shè)備數(shù)據(jù)
rt_adc_disable() 關(guān)閉ADC設(shè)備

關(guān)于ADC的更多資料請(qǐng)參看RT-Thread官方手冊(cè):

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/adc/adc

3 硬件連接

P001引腳可以連接到MCU內(nèi)部的 ADC 外設(shè),從而對(duì)電位器輸入的模擬信號(hào)進(jìn)行采集。

1686969150327sz4i3wvk3j

4 RA6M3 ADC配置

接下來(lái)配置ADC,只需要簡(jiǎn)單配置就可使用。雙擊工程中的 RA Smart Configurator 圖標(biāo),第一次打開(kāi)需要配置正確的 FSP 安裝路徑。

1686969150577hn9pjb287q

168696915082173k9nscasp

  • FSP配置ADC

1.配置掃描通道對(duì)應(yīng)的引腳

1686969151122qtc7fxconh

2.配置 name、unit、mode,選擇掃描的通道編號(hào)

1686969151436uv64so7vke

16869691517262zpwdm9lwr

  • 配置ADC通道

然后打開(kāi)對(duì)應(yīng)的通道

1686969151983f3mvrlsl7y

5 ADC代碼實(shí)現(xiàn)

筆者這里使用的通道1,核心代碼如下:

#define ADC_DEV_NAME        "adc0"      /* ADC 設(shè)備名稱 */
#define ADC_DEV_CHANNEL     1           /* ADC 通道 */
#define REFER_VOLTAGE       330         /* 參考電壓 3.3V,數(shù)據(jù)精度乘以100保留2位小數(shù)*/
#define CONVERT_BITS        (1 < < 12)   /* 轉(zhuǎn)換位數(shù)為12位 */

static int adc_vol_sample(int argc, char *argv[])
{
    rt_adc_device_t adc_dev;
    rt_uint32_t value, vol;
    rt_err_t ret = RT_EOK;

    /* 查找設(shè)備 */
    adc_dev = (rt_adc_device_t)rt_device_find(ADC_DEV_NAME);
    if (adc_dev == RT_NULL)
    {
        rt_kprintf("adc sample run failed! can't find %s device!\\n", ADC_DEV_NAME);
        return RT_ERROR;
    }

    /* 使能設(shè)備 */
    ret = rt_adc_enable(adc_dev, ADC_DEV_CHANNEL);

    /* 讀取采樣值 */
    value = rt_adc_read(adc_dev, ADC_DEV_CHANNEL);
    rt_kprintf("the value is :%d \\n", value);

    /* 轉(zhuǎn)換為對(duì)應(yīng)電壓值 */
    vol = value * REFER_VOLTAGE / CONVERT_BITS;
    rt_kprintf("the voltage is :%d.%02d \\n", vol / 100, vol % 100);

    /* 關(guān)閉通道 */
    ret = rt_adc_disable(adc_dev, ADC_DEV_CHANNEL);

    return ret;
}
/* 導(dǎo)出到 msh 命令列表中 */
MSH_CMD_EXPORT(adc_vol_sample, adc voltage convert sample);

6 測(cè)試驗(yàn)證

編譯下載,調(diào)試信息如下:

1686969152255zbf42f2l0v

從以上打印信息可以看出,adc0已經(jīng)使能,然后使用MSH命令‘a(chǎn)dc_vol_sample’即可使能ADC線程。

1686969152516u53z56lvuo

筆者這里將P001接到GND和3.3V電壓上,和實(shí)際的電壓是相符的。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17123

    瀏覽量

    350975
  • adc
    adc
    +關(guān)注

    關(guān)注

    98

    文章

    6495

    瀏覽量

    544456
  • 開(kāi)發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5032

    瀏覽量

    97371
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1285

    瀏覽量

    40079
  • RA6M3
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    110
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何利用rt-thread和HMI Board RA6M3開(kāi)發(fā)一套物聯(lián)網(wǎng)工控機(jī)?

    近年來(lái),隨著新一輪的科技發(fā)展以及工業(yè)產(chǎn)業(yè)升級(jí),工業(yè)經(jīng)濟(jì)慢慢的由數(shù)字化向網(wǎng)絡(luò)化和智能化發(fā)展?;谶@一理念,本人利用rt-thread和HMI Board RA6M3開(kāi)發(fā)了一套物聯(lián)網(wǎng)工控機(jī)。
    的頭像 發(fā)表于 09-15 15:27 ?1481次閱讀
    如何利用rt-thread和<b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>RA6M3</b>開(kāi)發(fā)一套物聯(lián)網(wǎng)工控機(jī)?

    RA6M3 HMI Board評(píng)測(cè)挑戰(zhàn)】-瑞薩RA6M3上的CAN實(shí)踐

    RA6M3 HMI Board 評(píng)測(cè)大挑戰(zhàn)】-瑞薩RA6M3上的CAN實(shí)踐
    的頭像 發(fā)表于 10-17 14:55 ?1997次閱讀
    【<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>評(píng)測(cè)挑戰(zhàn)】-瑞薩<b class='flag-5'>RA6M3</b>上的CAN實(shí)踐

    RA6M3數(shù)據(jù)手冊(cè)(英)

    RA6M3數(shù)據(jù)手冊(cè)(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>數(shù)據(jù)手冊(cè)(英)

    RA6M3硬件用戶手冊(cè)(英)

    RA6M3硬件用戶手冊(cè)(英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>硬件用戶手冊(cè)(英)

    RA6M3數(shù)據(jù)手冊(cè)(中英)

    RA6M3數(shù)據(jù)手冊(cè)(中英)
    發(fā)表于 11-07 19:49 ?0次下載
    <b class='flag-5'>RA6M3</b>數(shù)據(jù)手冊(cè)(中英)

    RA6M3硬件用戶手冊(cè)(中英)

    RA6M3硬件用戶手冊(cè)(中英)
    發(fā)表于 11-07 19:49 ?2次下載
    <b class='flag-5'>RA6M3</b>硬件用戶手冊(cè)(中英)

    RA6M3 組數(shù)據(jù)表

    RA6M3 組數(shù)據(jù)表
    發(fā)表于 05-12 19:25 ?0次下載
    <b class='flag-5'>RA6M3</b> 組數(shù)據(jù)表

    RA6M3 HMI Board SDHI實(shí)踐

    進(jìn)行說(shuō)明,然后使用RT-Studio新建工程進(jìn)行開(kāi)發(fā),通過(guò)RASC對(duì)RA6M3的底層硬件配置,然后使用SDHI接口實(shí)現(xiàn)SD的識(shí)別,搭配文件系統(tǒng)對(duì)SD卡進(jìn)行讀寫(xiě)操作,同時(shí)記錄開(kāi)發(fā)遇到的問(wèn)題。 1.2
    的頭像 發(fā)表于 06-19 18:15 ?1085次閱讀
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>SDHI實(shí)踐

    RA6M3 HMI Board RTC實(shí)踐

    開(kāi)發(fā)環(huán)境: RT-Thread Studio:v2.2.6 開(kāi)發(fā)板:RA6M3 HMI Board開(kāi)發(fā)板 MCU:R7FA6M3AH3CFB 1 R
    的頭像 發(fā)表于 06-21 21:31 ?2931次閱讀
    <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b> <b class='flag-5'>之</b>RTC實(shí)踐

    RA6M3 組用戶手冊(cè):硬件

    RA6M3 組用戶手冊(cè):硬件
    發(fā)表于 06-29 19:17 ?0次下載
    <b class='flag-5'>RA6M3</b> 組用戶手冊(cè):硬件

    RA6M3 組數(shù)據(jù)表

    RA6M3 組數(shù)據(jù)表
    發(fā)表于 06-29 19:17 ?0次下載
    <b class='flag-5'>RA6M3</b> 組數(shù)據(jù)表

    【線下培訓(xùn)】上海臨港: RT-Thread × 瑞薩 工業(yè)監(jiān)視器 RA6M3 HMI Board解決方案

    解決方案。 開(kāi)發(fā)者將學(xué)習(xí)如何使用RA6M3 HMI Board屏幕展示工業(yè)現(xiàn)場(chǎng)環(huán)境信息,并通過(guò)網(wǎng)絡(luò)獲取、展示工控機(jī)的運(yùn)行狀態(tài)(如: 當(dāng)前負(fù)載情況, 運(yùn)行時(shí)長(zhǎng),網(wǎng)絡(luò)狀態(tài)等)。 同時(shí)我們還
    的頭像 發(fā)表于 09-07 17:40 ?792次閱讀
    【線下培訓(xùn)】上海臨港: RT-Thread × 瑞薩 工業(yè)監(jiān)視器 <b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>解決方案

    瑞薩RA6M3 HMI-Board Video Demo 上手指南

    高性能芯片 RA6M3 及 RT-Thread 和 LVGL 軟件生態(tài),HMI Board 不僅硬件性能強(qiáng)勁,同時(shí)軟件生態(tài)豐富,助力開(kāi)發(fā)者快速開(kāi)發(fā)出 GUI 智能硬件產(chǎn)品。 本示例開(kāi)源鏈接: https
    的頭像 發(fā)表于 09-15 18:25 ?1745次閱讀
    瑞薩<b class='flag-5'>RA6M3</b> <b class='flag-5'>HMI-Board</b> Video Demo 上手指南

    瑞薩 RA6M3 開(kāi)發(fā)實(shí)踐指南-UART實(shí)踐

    RT-Thread即將發(fā)布一系列RA6M3外設(shè)驅(qū)動(dòng)的實(shí)踐指南,我們將使用瑞薩RA6M3 HMI-Board 開(kāi)發(fā)板,帶領(lǐng)大家上手RT-Thread設(shè)備驅(qū)動(dòng)。? 【硬件介紹】 1.? 開(kāi)發(fā)板描述
    的頭像 發(fā)表于 09-23 12:15 ?1356次閱讀

    RA6M3 RT-Thread* LVGL HMI Board開(kāi)發(fā)實(shí)踐指南-GPIO實(shí)踐

    RT-Thread即將發(fā)布一系列RA6M3外設(shè)驅(qū)動(dòng)的實(shí)踐指南,我們將使用瑞薩RA6M3 HMI-Board 開(kāi)發(fā)板,帶領(lǐng)大家上手RT-Thread設(shè)備驅(qū)動(dòng), 本篇文章將介紹GPIO外設(shè)。GPIO
    的頭像 發(fā)表于 11-30 19:05 ?1248次閱讀
    <b class='flag-5'>RA6M3</b> RT-Thread* LVGL <b class='flag-5'>HMI</b> <b class='flag-5'>Board</b>開(kāi)發(fā)實(shí)踐指南-GPIO實(shí)踐
    RM新时代网站-首页