RA6M3 HMI Board 之DAC设置电压值
                    2023-06-20 09:24:20
                    来源:
                    嵌入式大杂烩
                
R7FA6M3有片上DAC外设,总共有两路DAC输出通道,每路的分辨率可配置为1
开发环境:
RT-ThreadStudio:v2.2.6
开发板:RA6M3 HMI Board开发板
(相关资料图)
MCU:R7FA6M3AH3CFB
1 RA6M3 DAC简介R7FA6M3有片上DAC外设,总共有两路DAC输出通道,每路的分辨率可配置为12位, 这两个通道之间互不影响,每个通道都可以使用ELC功能可外部触发或者进行与ADC单元1的同步转换。
2 RT-Thread 的DAC简介DAC(Digital-to-Analogl Converter) 指数模转换器。是指把二进制数字量形式的离散数字信号转换为连续变化的模拟信号的器件。在数字世界中,要处理不稳定和动态的模拟信号并不容易,基于 DAC 的特性,在各种不同的产品中都可以找到它的身影。与之相对应的 ADC(Analog-to-Digital Converter)),它是 DAC 数模转换的逆向过程。DAC 主要应用于音频放大,视频编码,电机控制,数字电位计等。
应用程序通过 RT-Thread 提供的 DAC 设备管理接口来访问 DAC 硬件,相关接口如下所示:
| 函数 | 描述 | 
|---|---|
关于DAC的更多资料请参看RT-Thread官方手册:
https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/dac/dac
3 硬件连接P014引脚可以连接到MCU内部的 DAC 外设,从而输出外部电压。
4 RA6M3 DAC配置接下来配置DAC,只需要简单配置就可使用。双击工程中的 RA Smart Configurator 图标,第一次打开需要配置正确的 FSP 安装路径。
FSP配置DAC1.配置扫描通道对应的引脚
2.修改通道号为 0,与 DAC0 对应
配置DAC通道然后打开对应的通道
4 DAC代码实现笔者这里使用的DAC通道0,然后接到ADC的通道1,核心代码如下:
#define DEV_ADC                   "adc0"#define DEV_ADC_CHANNEL         1#define DEV_DAC                   "dac0"#define DEV_DAC_CHANNEL         0#define REFER_VOLTAGE            330#define CONVERT_BITS              (1 < < 12)void dac_test(void){    rt_adc_device_t dev_adc = (rt_adc_device_t)rt_device_find(DEV_ADC);    rt_dac_device_t dev_dac = (rt_dac_device_t)rt_device_find(DEV_DAC);    rt_uint32_t vol, value = 2048;    if(dev_adc == RT_NULL)    {        rt_kprintf("no adc device named %s\\n", DEV_ADC);    }    rt_adc_enable(dev_adc, DEV_ADC_CHANNEL);    if(dev_dac == RT_NULL)    {        rt_kprintf("no dac device named %s\\n", DEV_DAC);    }    rt_dac_enable(dev_dac, DEV_DAC_CHANNEL);    rt_dac_write(dev_dac, DEV_DAC_CHANNEL, value);    vol = value * REFER_VOLTAGE / CONVERT_BITS;    rt_kprintf("the dac voltage is :%d.%02d \\n", vol / 100, vol % 100);    rt_thread_mdelay(100);    value = rt_adc_read(dev_adc, DEV_ADC_CHANNEL);    vol = value * REFER_VOLTAGE / CONVERT_BITS;    rt_kprintf("the adc voltage is :%d.%02d \\n", vol / 100, vol % 100);    rt_adc_disable(dev_adc, DEV_ADC_CHANNEL);    rt_dac_disable(dev_dac, DEV_DAC_CHANNEL);}MSH_CMD_EXPORT(dac_test, dac_test);5 测试验证编译下载,调试信息如下:
从以上打印信息可以看出,dac0和adc0已经使能,将P001和P014连接,然后使用MSH命令‘dac_test’即可使能DAC线程。
DAC输出电压和ADC通道1的值相同。审核编辑:汤梓红
标签:
[责任编辑:{haixiayule]
网罗天下
最近更新
- 
                        
                            
                            RA6M3 HMI Board 之DAC设置电压值
 - 
                        
                            
                            鳄鱼能养出感情吗?鳄鱼怎么喂食?
 - 
                        
                            
                            莲荷的意思是什么?莲荷长碧池指什么生肖?
 - 
                        
                            
                            张兰直播连线汪小菲 汪小菲现身台北陪孩子过暑假|精选
 - 
                        
                            
                            性骚扰实锤?吴宗宪曝黄子佼曾让女生脱衣验身
 - 
                        
                            
                            【天天快播报】承认离婚了!黄景瑜工作室回应不实传闻
 - 
                        
                            
                            承认离婚!黄景瑜说和前任是亲人也是朋友_天天热闻
 - 
                        
                            
                            盘点化工概念上市公司市值TOP20排行榜(6月19日)
 - 
                        
                            
                            焦点讯息:最强王者系统小说 最强王者系统
 - 
                        
                            
                            明阳电气:创业板IPO网上发行中签率0.0322890677% 要闻
 - 
                        
                            
                            有梅西PK无梅西,阿根廷表现差别大吗?
 - 
                        
                            
                            加拿大股市追随油价收跌,巴西雷亚尔涨约1%领跑新兴市场货币、并创逾一年新高|全球最新
 - 
                        
                            
                            香港酒店推荐住在哪里比较安静性价比高_香港酒店推荐
 - 
                        
                            
                            杨九郎-热闻
 - 
                        
                            
                            观点:EDG与比心携手3年,E起前进!
 - 
                        
                            
                            上海市政府常务会部署推动会展经济高质量发展,实施促进外商投资全球伙伴计划 全球最资讯
 - 
                        
                            
                            当前播报:线上消费呈现新亮点 “小而美”领域细分需求凸显
 - 
                        
                            
                            环球快播:宝鸡:法治教育进校园 护航青春助成长
 - 
                        
                            
                            世界时讯:江苏省盐城市2023-06-15 01:08发布大雾橙色预警
 - 
                        
                            
                            海兰信将于6月26日解禁3058.1万股
 - 
                        
                            
                            电视剧《斗罗大陆2》官宣史莱克七怪阵容 周翊然张予曦携手开启全新冒险征程-焦点热讯
 - 
                        
                            
                            每日头条!历览前贤国与家成由勤俭败由奢拼音_历览前贤国与家成由勤俭败由奢
 - 
                        
                            
                            潘粤明加盟《夺宝奇兵5》 为印第安纳·琼斯配音,6月30日同步北美上映 世界独家
 - 
                        
                            
                            《我爱你!》沈阳城市建设学院路演 ,倪大红东北话教学惠英红
 - 
                        
                            
                            《变形金刚7》蝉联周冠, 《闪电侠》未能破亿夺亚军
 - 
                        
                            
                            杨幂穿绿色长裙亮相活动, 夏日风情绘出浪漫画卷 天天要闻
 - 
                        
                            
                            《小行星城》上映, 超《月升王国》创单馆票房纪录
 - 
                        
                            
                            【聚看点】新锐女导演倾心打造,《神女杂货铺》火爆来袭
 - 
                        
                            
                            短时强降雨、雷暴大风、冰雹……今晚就来 环球新视野
 - 
                        
                            
                            世界快资讯:《三分野》里卿卿是坏的吗 林卿卿结局是什么?