我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 www.xtark.cn 】【塔克博客 www.cnblogs.com/xtark/

    

本文介绍X-CTR100控制器 DAC接口输出功能,X-CTR100具有一路1位DAC输出接口,可以输出0~3.3V电压,用于需要电压控制的设备。

原理

DAC 为数字/模拟转换模块,故名思议,它的作用就是把输入的数字编码,转换成对应的模拟电压输出,它的功能与ADC 相反。在常见的数字信号系统中,大部分传感器信

号被化成电压信号,而ADC 把电压模拟信号转换成易于计算机存储、处理的数字编码,由计算机处理完成后,再由DAC 输出电压模拟信号,该电压模拟信号常常用来驱动某些

执行器件,使人类易于感知。如音频信号的采集及还原就是这样一个过程。

STM32 具有片上DAC 外设,它的分辨率可配置为8 位或12 位的数字输入信号,具有两个DAC 输出通道,这两个通道互不影响,每个通道都可以使用DMA 功能,都具有出错

检测能力,可外部触发。

    

例程

连接DAC输入通道和ADC-J通道,控制DAC输出0.1V递增电压并通过ADC-J采集DAC输出的电压,串口显示。

硬件说明

硬件资源:

  • 串口UART1
  • DAC接口(LI)
  • ADC接口(LJ)

硬件连接:

使用MicroUSB数据线连接X-CTR100 COM接口。

使用杜邦线连接LI和LJ接口,将ADC和DAC连接在一起。

软件生态

X-SOFT软件生态,X-API文件如下。

ax_dac.c——X-CTR100 DAC数模转换源文件

ax_dac.h——X-CTR100 DAC数模转换头文件

X-API操作函数如下:

void AX_DAC_Init(void); //DAC初始化

void AX_DAC_SetVol(uint16_t vol); //DAC设置输出电压值

软件说明

本程序通过x变量递增100,实现电压0.1V递增,使用函数AX_DAC_SetVol()设置输出电压,并通过AX_ADC_GetVol()函数采集DAC输出电压,ADC使用AX_ADC_CH_J通道采集。

int main(void)

{

    uint16_t tmp = 0;

 

    //X-CTR100初始化

    AX_Init(115200);

    printf("***DAC电压输出例程***\r\n\r\n");

 

    //模块初始化及配置

    AX_DAC_Init();

    AX_ADC_Init();

 

    //X-API测试:DAC电压输出,并通过ADC -J通道采集显示

    printf("*DAC电压输出测试\r\n");

    printf("*DAC电压输出,并通过ADC-J通道采集显示\r\n");

    printf("*请连接DAC输出和ADC-J通道到\r\n\r\n");

 

    while (1)

    {

        tmp += 100; //输入电压递增0.1V

        AX_DAC_SetVol(tmp);

        printf("DAC输出电压:%8.2f ADC-J采集电压:%8.2f\r\n", (tmp*0.001), AX_ADC_GetVol(AX_ADC_CH_J));

 

        //x大于3000(3V)后重新赋值为0

        if (tmp>3000)

            tmp = 0;

 

        AX_Delayms(1000);

    }

}

实现效果

连接DAC输入通道和ADC-J通道,连接实物及运行效果如下图所示。

    

总结

通过本文学习,可以掌握X-CTR100控制器 DAC输出功能。

玩转X-CTR100 l STM32F4 l DAC数字模拟转换的更多相关文章

  1. 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 AD转换接 ...

  2. 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 板载加速度 ...

  3. 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...

  4. 玩转X-CTR100 l STM32F4 l 舵机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的舵机控制,X-CTR ...

  5. 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器控制步进电机 ...

  6. 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器基础板载资源 ...

  7. 玩转X-CTR100 l STM32F4 l PS2无线手柄

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] SONY的PS2无线手柄是索尼游戏机的遥控手柄,控制 ...

  8. 玩转X-CTR100 l STM32F4 l DSP指令集性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器 DSP库的 ...

  9. 玩转X-CTR100 l STM32F4 l FPU单精度浮点性能测试

    我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ]      本文介绍X-CTR100控制器如何开启ST ...

随机推荐

  1. 框架设计——View

    [demo]: ZZSZYFP : UserControl, INavigateMdiControl(1)继承自UserControl,并实现了 INavigateMdiControl接口(2)限制表 ...

  2. WPF——UI布局

    1.规划整体布局(规划界面结构)——>这样就可以划分出若干区域(区域的控件通常是一些容器控件) 2.针对 上面的 “若干区域” ,制作每个区域的一级用户控件(然后,将该用户控件放入对应的区域中) ...

  3. 如何启动iis(Internet 信息服务(IIS)管理器)

    Internet 信息服务(IIS)管理器 启动 IIS 管理器1.从“开始”菜单,指向“管理工具”,然后单击“Internet 信息服务 (IIS) 管理器”. 从“运行”对话框启动 IIS 管理器 ...

  4. pandas选择单元格,选择行列

    首先创建示例df: df = pd.DataFrame(np.arange(16).reshape(4, 4), columns=list('ABCD'), index=list('5678')) d ...

  5. linux进程管理之进程查看

    查看进程 process ====================================================================================了解如 ...

  6. use . adb . get wifi

    adb shell 连接手机获取root权限,如果返回的字符串中不包含root字样,再输入su命令回车 继续输入cat /data/misc/wifi/*.conf命令,将会把文件打印出来 ssid表 ...

  7. UI基础三:简单的BOL报表开发

    巧了...刚好一个需求,就直接来撸起来吧. 需要做一个报表: 1.创建查询结构和结果结构 2.创建实施类: SE24创建ZCL_JPEXPORT_ORDER_IL 更改父类:CL_WCF_GENIL_ ...

  8. 使用iText快速更新书签

    一.介绍 pdfbox基于Apache协议,商用无需开放源代码. iText基于APGL协议,打包和修改需发布源码,除非花钱买断. 二.用途 下载的电子书,有的书签是FitHeight,也就是缩放后整 ...

  9. Cassandra的commitLog、memtable、 SStable

    和关系数据库一样,Cassandra在写数据之前,也需要先记录日志,称之为commitlog,然后数据才会写入到Column Family对应的Memtable中,并且Memtable中的内容是按照k ...

  10. Spring注解之@Import

    /** * Indicates one or more {@link Configuration @Configuration} classes to import. * 表示import 一个或多个 ...