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

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

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

通過RT-Thread Studio配置N32L406片上外設(shè)DAC的功能

冬至子 ? 來源:UWPU_1321 ? 作者:UWPU_1321 ? 2023-08-15 14:32 ? 次閱讀

前言
本文通過 RT-Thread Studio 配置 N32L406 片上外設(shè) DAC 的功能,通過使用dac_open,dac_write,dac_close函數(shù)實現(xiàn)DAC的使用,不需要配置底層就能實現(xiàn)開發(fā)板PA4輸出指定的電壓值。

步驟
dac使用說明
打開N32L40x系列數(shù)據(jù)手冊,查看資源可以發(fā)現(xiàn)當(dāng)前芯片支持1路DAC,引腳為PA4,在進(jìn)行RTT配置的就是默認(rèn)是PA4,不用進(jìn)行通道選擇。

1.jpg

新建工程
打開rt-studio,基于開發(fā)板新建工程

1.jpg

點(diǎn)擊RT-Thread Setting,打開DAC設(shè)備框架

1.jpg

在芯片設(shè)備驅(qū)動中打開DAC驅(qū)動

1.jpg

drv_dac解讀
添加這一小節(jié)的原因是當(dāng)前芯片只有1路DAC,后面編程需要用到,打開drv_dac.c文件。
共由5個函數(shù)組成,分別是n32_dac_init(),n32_dac_enable(),n32_dac_disable(),n32_set_dac_value(),以及rt_hw_dac_init()函數(shù)組成,其中主要關(guān)注n32_set_dac_value(),如下所示:
在使用dac設(shè)備的時候,實際上rt_dac_write()函數(shù)中,通道值已經(jīng)不發(fā)生作用,在程序設(shè)計的時候只需關(guān)注設(shè)置的值就可以了。

1.jpg

dac設(shè)備通過這個操作集實現(xiàn)對DAC的控制

1.jpg

測試代碼
在applications下新建test_dac.c,添加以下代碼

#include
#include
#include
#define DAC_DEV_NAME "dac" /* DAC 設(shè)備名稱 /
#define DAC_DEV_CHANNEL 0 /
DAC 通道 /
#define REFER_VOLTAGE 330 /
參考電壓 3.3V,數(shù)據(jù)精度乘以100保留2位小數(shù)*/
#define CONVERT_BITS (1 << 12) /* 轉(zhuǎn)換位數(shù)為12位 */
static int dac_vol_sample(int argc, char argv[])
{
rt_dac_device_t dac_dev;
rt_uint32_t value, vol;
rt_err_t ret = RT_EOK;
/
查找設(shè)備 /
dac_dev = (rt_dac_device_t)rt_device_find(DAC_DEV_NAME);
if (dac_dev == RT_NULL)
{
rt_kprintf("dac sample run failed! can't find %s device!n", DAC_DEV_NAME);
return RT_ERROR;
}
/
打開通道 /
ret = rt_dac_enable(dac_dev, DAC_DEV_CHANNEL);
/
設(shè)置輸出值 /
//value = atoi(argv[1]);
value = 2000;
rt_dac_write(dac_dev, DAC_DEV_CHANNEL, value);
rt_kprintf("the value is :%d n", value);
/
轉(zhuǎn)換為對應(yīng)電壓值 /
vol = value * REFER_VOLTAGE / CONVERT_BITS;
rt_kprintf("the voltage is :%d.%02d n", vol / 100, vol % 100);
/
延時查看效果,關(guān)閉通道后無輸出 /
rt_thread_mdelay(5000);
/
關(guān)閉通道 /
ret = rt_dac_disable(dac_dev, DAC_DEV_CHANNEL);
return ret;
}
/
導(dǎo)出到 msh 命令列表中 */
MSH_CMD_EXPORT(dac_vol_sample, dac voltage convert sample);

代碼驗證
編譯并將程序下載到開發(fā)板中,打開終端

1.jpg

輸入help命令

1.jpg

萬用表達(dá)到電壓檔,正極接到PA4, 輸入dac_vol_sample命令,查看終端輸出

1.jpg

查看萬用表測量到的電壓值,如下所示,輸出設(shè)置的電壓值。

1.jpg

總結(jié)
使用RT-Thread的設(shè)備驅(qū)動框架能很快的入手一款開發(fā)板,實現(xiàn)硬件底層與應(yīng)用的分離,同時可以對接離線包,短時間內(nèi)將開發(fā)板使用起來。

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

    關(guān)注

    87

    文章

    2008

    瀏覽量

    126377
  • 驅(qū)動器
    +關(guān)注

    關(guān)注

    51

    文章

    7997

    瀏覽量

    145007
  • 控制器
    +關(guān)注

    關(guān)注

    112

    文章

    15879

    瀏覽量

    175344
  • dac
    dac
    +關(guān)注

    關(guān)注

    43

    文章

    2226

    瀏覽量

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

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39427
收藏 人收藏

    評論

    相關(guān)推薦

    通過RT-Thread Studio配置AB32VG1外設(shè)GPIO引腳控制RGB彩燈

    本篇文章通過 RT-Thread Studio 配置 AB32VG1
    的頭像 發(fā)表于 11-03 17:38 ?1.3w次閱讀
    <b class='flag-5'>通過</b><b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>AB32VG1<b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>外設(shè)</b>GPIO引腳控制RGB彩燈

    RT-Thread Studio配置rtthread CANFD驅(qū)動來控制M3508電機(jī)

    本文旨在RT-Thread Studio配置rtthread CANFD驅(qū)動來控制M3508電機(jī),不涉及任何原理 開發(fā)環(huán)境:RT-Thread
    發(fā)表于 10-08 11:44 ?1071次閱讀
    在<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>上</b><b class='flag-5'>配置</b>rtthread CANFD驅(qū)動來控制M3508電機(jī)

    RT-Thread Studio 使用 RT-Thread Nano

    本文介紹了如何在 RT-Thread Studio 使用 RT-Thread Nano,并以創(chuàng)建 stm32f103RB 的 Nano 工程為例。準(zhǔn)備工作安裝
    發(fā)表于 05-18 15:59

    使用RT-Thread Studio開發(fā)各個外設(shè)的驅(qū)動的操作方法

    Studio 可以通過在board.h中配置引腳,實現(xiàn)初始化功能如果感覺RT-Thread Studi
    發(fā)表于 03-21 10:44

    基于RT-Thread Studio的ADC外設(shè)使用方案介紹

    ART-Pi,創(chuàng)建模板工程。2、基于RT-Thread Studio 使用STM32單片機(jī)的ADC外設(shè)一、工程建立 工程建立和時鐘配置這里不再贅述,可以看上一篇文章,在 PWM 中詳細(xì)
    發(fā)表于 03-28 16:57

    RT-Thread Studio 主要亮點(diǎn)功能

    RT-Thread Studio V1.1.0 快速上手體驗 RT-Thread Studio 主要包括工程創(chuàng)建和管理,代碼編輯,SDK管理器,RT
    的頭像 發(fā)表于 06-19 11:45 ?5625次閱讀

    RT-Thread Studio快速配置GPIO進(jìn)行點(diǎn)燈

    本章通過RT-Thread Studio配置AB32VG1
    發(fā)表于 12-14 18:44 ?10次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>快速<b class='flag-5'>配置</b>GPIO進(jìn)行點(diǎn)燈

    RT-Thread STM32 配置系統(tǒng)時鐘(使用外部晶振)

    RT-Thread STM32 配置系統(tǒng)時鐘開發(fā)環(huán)境芯片:STM32F103RCT6RT-Thread Studio: V1.0.6(現(xiàn)在已經(jīng)更新到1.1.3,由于本人使用RTT開發(fā)已
    發(fā)表于 12-14 18:45 ?14次下載
    <b class='flag-5'>RT-Thread</b> STM32 <b class='flag-5'>配置</b>系統(tǒng)時鐘(使用外部晶振)

    RT-Thread Studio配置連接WIFI模塊

    通過 RT-Thread Studio 配置 AB32VG1
    發(fā)表于 12-20 19:11 ?16次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b>連接WIFI模塊

    RT-Thread Studio驅(qū)動SD卡

    RT-Thread Studio驅(qū)動SD卡前言一、創(chuàng)建基本工程1、創(chuàng)建Bootloader2、創(chuàng)建項目工程二、配置RT-Thread Settings三、代碼分析1.引入庫2.讀入數(shù)據(jù)
    發(fā)表于 12-27 19:13 ?20次下載
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>驅(qū)動SD卡

    如何通過RT-Thread Studio配置外設(shè)UART

    通過 RT-Thread Studio 配置 AB32VG1
    的頭像 發(fā)表于 08-21 09:53 ?1861次閱讀
    如何<b class='flag-5'>通過</b><b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b><b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>外設(shè)</b>UART

    RT-Thread Studio配置外設(shè)GPIO的引腳

    通過 RT-Thread Studio 配置 AB32VG1
    的頭像 發(fā)表于 08-21 09:49 ?2807次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b><b class='flag-5'>配置</b><b class='flag-5'>片</b><b class='flag-5'>上</b><b class='flag-5'>外設(shè)</b>GPIO的引腳

    基于RT-Thread Studio學(xué)習(xí)

    前期準(zhǔn)備:從官網(wǎng)下載 RT-Thread Studio,弄個賬號登陸,開啟rt-thread學(xué)習(xí)之旅。
    的頭像 發(fā)表于 05-15 11:00 ?3492次閱讀
    基于<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>學(xué)習(xí)

    使用RT-Thread Studio進(jìn)行智能家居終端的設(shè)計

    本次方案基于星火一號開發(fā)板開發(fā),使用RT-Thread Studio進(jìn)行工程創(chuàng)建,代碼編輯,RT-Thread配置,調(diào)試配置,程序下載等
    的頭像 發(fā)表于 07-28 16:41 ?1711次閱讀
    使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>進(jìn)行智能家居終端的設(shè)計

    試用RT-Thread Studio(VSCode)

    想嘗試RT-Thread studio (VSCode),先下載安裝VSCode,再搜索RT-Thread
    的頭像 發(fā)表于 10-12 10:58 ?877次閱讀
    試用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>Studio</b>(VSCode)