AD采樣是應(yīng)用非常廣泛的一種模式,其中包括DMA方式和非DMA方式。
![poYBAGMEcQGAJH-NAAGKfcWl594945.png](https://file.elecfans.com/web2/M00/63/B9/poYBAGMEcQGAJH-NAAGKfcWl594945.png)
![pYYBAGMEcdyAB78CAALY1lcn59A690.png](https://file.elecfans.com/web2/M00/64/54/pYYBAGMEcdyAB78CAALY1lcn59A690.png)
部分代碼如下:
#include
#include
#define ADC_DEV_NAME "adc0" /* ADC 設(shè)備名稱 */
#define ADC_DEV_CHANNEL 7 /* ADC 通道 */
#define REFER_VOLTAGE 330 /* 參考電壓 3.3V,數(shù)據(jù)精度乘以 100 保留 2 位小數(shù)*/
#define CONVERT_BITS (1 << 10) /* 轉(zhuǎn)換位數(shù)為 10 位 */
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);
最后做一個(gè)總結(jié),首先新建一個(gè) rt-thread studio 的工程,接著配置 rt-thread setting,使能 sdk 的 adc,配置完后 crtl+s 保存,接著在 application 文件夾下新建測(cè)試源文件,在源文件中添加官方的 adc 設(shè)備測(cè)試代碼,后面編譯好后下載到開發(fā)板就可以開始測(cè)量電壓了。
審核編輯:湯梓紅
-
adc
+關(guān)注
關(guān)注
98文章
6498瀏覽量
544640 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6825瀏覽量
123331 -
AD采樣
+關(guān)注
關(guān)注
0文章
23瀏覽量
15989 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1289瀏覽量
40129
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
STm32與RT-thread操作系統(tǒng)的配合使用
RT-Thread Studio操作系統(tǒng)
基于RT-Thread操作系統(tǒng)衍生rt-smart實(shí)時(shí)操作系統(tǒng)簡(jiǎn)介
RT-Thread編程指南
RT-Thread用戶手冊(cè)
RT Thread操作系統(tǒng)教程及資料
RT-Thread Smart微內(nèi)核操作系統(tǒng)發(fā)布!
國(guó)民技術(shù)攜手RT-Thread共同推進(jìn)MCU與RT-Thread操作系統(tǒng)廣泛適配
RT-Thread實(shí)時(shí)操作系統(tǒng)安裝向?qū)?/a>
RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述
![<b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述](https://file.elecfans.com/web2/M00/52/31/pYYBAGLKk5WAA__jAADjdAdXhIs410.jpg)
RT-Thread操作系統(tǒng)已經(jīng)成功部署至芯馳E3
RT-Thread操作系統(tǒng)的FreeRTOS兼容層
RT-Thread榮獲“最具影響力IoT操作系統(tǒng)獎(jiǎng)”
![<b class='flag-5'>RT-Thread</b>榮獲“最具影響力IoT<b class='flag-5'>操作系統(tǒng)</b>獎(jiǎng)”](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
新書發(fā)布——《實(shí)時(shí)操作系統(tǒng)應(yīng)用技術(shù):RT-Thread與ARM編程實(shí)踐》
![新書發(fā)布——《實(shí)時(shí)<b class='flag-5'>操作系統(tǒng)</b>應(yīng)用技術(shù):<b class='flag-5'>RT-Thread</b>與ARM編程實(shí)踐》](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
RT-Thread操作系統(tǒng)應(yīng)用開發(fā)寒假師資培訓(xùn)
![<b class='flag-5'>RT-Thread</b><b class='flag-5'>操作系統(tǒng)</b>應(yīng)用開發(fā)寒假師資培訓(xùn)](https://file1.elecfans.com/web2/M00/C4/8A/wKgZomX0EhWACv8DAAAUet8ikhs451.png)
評(píng)論