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

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

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

3天內不再提示

【EK-RA6E2開發指南】ADC獲取電壓值

嵌入式大雜燴 ? 來源:嵌入式大雜燴 ? 作者:嵌入式大雜燴 ? 2025-09-23 18:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 RA6E2 ADC簡介

RA6E2有2個ADC單元,每個ADC單元有12位、10位、8位讀取數據的格式可以選擇,在單元0上有13個ADC通道,而在單元1上有16個ADC通道。 ADC單元具有三種掃描方式分別為:單次描模式、連續掃描模式和分組掃描模式,

175837497476216wyzzh1q0

2 RT-Thread 的ADC簡介

ADC(Analog-to-Digital Converter) 指模數轉換器。是指將連續變化的模擬信號轉換為離散的數字信號的器件。

A/D轉換主要包括兩個內容:采樣保持和量化編碼,將一個模擬信號進行采樣,得到的樣點轉化為數字量,這是整個A/D轉換過程的核心,量化編碼分為好多算法,這里不深入研究了。ADC主要參數如下:

1.分辨率

AD轉換器輸出的數字量的最低位變化一個數時,對應輸入模擬量的變化量,A/D轉換器的位數越多,能夠分辨的最小模擬電壓值就越小,分辨率就越大,GD32的A/D轉換器是12位的,位數越多,表示分辨率越高,恢復模擬信號時會更精確。

2.相對精度

A/D轉換器實際輸出數字量與理論值之間的最大差值稱為相對精度。

3.轉換速度

A/D轉換器完成一次轉換所需要的時間,一般是us級別的。

應用程序通過 RT-Thread 提供的 ADC 設備管理接口來訪問 ADC 硬件,相關接口如下所示:

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

關于ADC的更多資料請參看RT-Thread官方手冊:

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

3 ADC使用實例

3.1 硬件連接

P001引腳可以連接到MCU內部的 ADC 外設,從而對電位器輸入的模擬信號進行采集。

1.png

3.2 RA6E2 ADC配置

接下來配置ADC,只需要簡單配置就可使用。

  • FSP配置ADC

1.配置掃描通道對應的引腳

2.png

2.配置 name、unit、mode,選擇掃描的通道編號

3.png

參數配置如下:

4.png

  • 配置ADC通道

然后打開對應的通道

5.png

3.3 ADC代碼實現

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

#define ADC_DEV_NAME        "adc0"      /* ADC 設備名稱 */
#define ADC_DEV_CHANNEL     1           /* ADC 通道 */
#define REFER_VOLTAGE       330         /* 參考電壓 3.3V,數據精度乘以100保留2位小數*/
#define CONVERT_BITS        (1 < < 12)   /* 轉換位數為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;

    /* 查找設備 */
    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;
    }

    /* 使能設備 */
    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);

    /* 轉換為對應電壓值 */
    vol = value * REFER_VOLTAGE / CONVERT_BITS;
    rt_kprintf("the voltage is :%d.%02d n", vol / 100, vol % 100);

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

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

3.4 測試驗證

編譯下載,調試信息如下:

6.png

從以上打印信息可以看出,adc0已經使能,然后使用MSH命令‘adc_vol_sample’即可使能ADC線程。

7.png

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

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

    關注

    147

    文章

    18924

    瀏覽量

    397993
  • 轉換器
    +關注

    關注

    27

    文章

    9418

    瀏覽量

    156326
  • adc
    adc
    +關注

    關注

    100

    文章

    7511

    瀏覽量

    555904
  • RT-Thread
    +關注

    關注

    32

    文章

    1613

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    EK-RA6E2開發指南開發環境搭建

    瑞薩電子的開發工具有很多,筆者習慣使用MDK開發,因此本文將基于MDK+RA Smart Configurator搭建開發環境。
    的頭像 發表于 09-23 18:12 ?2914次閱讀
    【<b class='flag-5'>EK-RA6E2</b><b class='flag-5'>開發指南</b>】<b class='flag-5'>開發</b>環境搭建

    EK-RA6E2開發指南】DAC設置電壓

    RA6E2有片上DAC外設,總共有兩路DAC輸出通道,每路的分辨率可配置為12位, 這兩個通道之間互不影響,每個通道都可以使用ELC功能可外部觸發或者進行與ADC單元1的同步轉換。
    的頭像 發表于 09-23 18:16 ?2045次閱讀
    【<b class='flag-5'>EK-RA6E2</b><b class='flag-5'>開發指南</b>】DAC設置<b class='flag-5'>電壓</b><b class='flag-5'>值</b>

    EK-RA2E2-快速入門指南

    EK-RA2E2-快速入門指南
    發表于 01-30 18:47 ?0次下載
    <b class='flag-5'>EK-RA2E2</b>-快速入門<b class='flag-5'>指南</b>

    EK-RA2E1 – 快速入門指南

    EK-RA2E1 – 快速入門指南
    發表于 02-03 19:08 ?0次下載
    <b class='flag-5'>EK-RA2E</b>1 – 快速入門<b class='flag-5'>指南</b>

    EK-RA6M2– 快速入門指南

    EK-RA6M2 – 快速入門指南
    發表于 03-13 19:36 ?0次下載
    <b class='flag-5'>EK-RA6M2</b>– 快速入門<b class='flag-5'>指南</b>

    EK-RA6E2v1 – 用戶手冊

    EK-RA6E2 v1 – 用戶手冊
    發表于 05-12 19:18 ?0次下載
    <b class='flag-5'>EK-RA6E2</b>v1 – 用戶手冊

    EK-RA6E2– 快速入門指南

    EK-RA6E2 – 快速入門指南
    發表于 05-12 19:20 ?1次下載
    <b class='flag-5'>EK-RA6E2</b>– 快速入門<b class='flag-5'>指南</b>

    EK-RA4E2– 快速入門指南

    EK-RA4E2 – 快速入門指南
    發表于 05-12 19:23 ?0次下載
    <b class='flag-5'>EK-RA4E2</b>– 快速入門<b class='flag-5'>指南</b>

    EK-RA6E2v1 – 用戶手冊

    EK-RA6E2 v1 – 用戶手冊
    發表于 06-29 19:10 ?1次下載
    <b class='flag-5'>EK-RA6E2</b>v1 – 用戶手冊

    EK-RA6E2– 快速入門指南

    EK-RA6E2 – 快速入門指南
    發表于 06-29 19:11 ?1次下載
    <b class='flag-5'>EK-RA6E2</b>– 快速入門<b class='flag-5'>指南</b>

    EK-RA4E2– 快速入門指南

    EK-RA4E2 – 快速入門指南
    發表于 06-29 19:14 ?0次下載
    <b class='flag-5'>EK-RA4E2</b>– 快速入門<b class='flag-5'>指南</b>

    EK-RA2E2-快速入門指南

    EK-RA2E2-快速入門指南
    發表于 07-03 20:12 ?0次下載
    <b class='flag-5'>EK-RA2E2</b>-快速入門<b class='flag-5'>指南</b>

    EK-RA2E1 – 快速入門指南

    EK-RA2E1 – 快速入門指南
    發表于 07-04 19:40 ?0次下載
    <b class='flag-5'>EK-RA2E</b>1 – 快速入門<b class='flag-5'>指南</b>

    EK-RA6M2– 快速入門指南

    EK-RA6M2 – 快速入門指南
    發表于 07-04 20:54 ?0次下載
    <b class='flag-5'>EK-RA6M2</b>– 快速入門<b class='flag-5'>指南</b>

    Renesas EK - RA8D2評估套件快速上手與定制開發指南

    Renesas EK - RA8D2評估套件快速上手與定制開發指南 在嵌入式開發領域,一款好的評估套件能極大地加速開發進程,幫助
    的頭像 發表于 12-26 15:50 ?444次閱讀