玩转X-CTR100 l STM32F4 l DAC数字模拟转换
我造轮子,你造车,创客一起造起来!塔克创新资讯【塔克社区 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数字模拟转换的更多相关文章
- 玩转X-CTR100 l STM32F4 l ADC 模拟数字转换
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 AD转换接 ...
- 玩转X-CTR100 l STM32F4 l MPU6050加速度陀螺仪传感器
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 板载加速度 ...
- 玩转X-CTR100 l STM32F4 l X-CTR100与树莓派搭建机器人平台
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器与树莓派Linux系统 ...
- 玩转X-CTR100 l STM32F4 l 舵机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器的舵机控制,X-CTR ...
- 玩转X-CTR100 l STM32F4 l DRV8825 A4988 步进电机控制
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器控制步进电机 ...
- 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器基础板载资源 ...
- 玩转X-CTR100 l STM32F4 l PS2无线手柄
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] SONY的PS2无线手柄是索尼游戏机的遥控手柄,控制 ...
- 玩转X-CTR100 l STM32F4 l DSP指令集性能测试
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器 DSP库的 ...
- 玩转X-CTR100 l STM32F4 l FPU单精度浮点性能测试
我造轮子,你造车,创客一起造起来!塔克创新资讯[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] 本文介绍X-CTR100控制器如何开启ST ...
随机推荐
- Linux上配置bond
http://blog.csdn.net/wuweilong/article/details/39720571 一,配置设定文件[root@woo ~]# vi /etc/sysconfig/netw ...
- 【调试】Idea如何远程debug之SpringBoot jar包启动
一.Java -jar启动添加如下参数 -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address= -Xdebug是通知JVM工 ...
- 各种排序算法(java)
/** * 时间复杂度:O(n*n) * 简单选择排序法:每次从剩余元素中选择一个最小值,交换最小值与数组中相应位置上的数值 * n趟 * @param nums */ public static v ...
- hdu-4738-tarjin/割边
http://acm.hdu.edu.cn/showproblem.php?pid=4738 求得是边权最小的割边,和求割点类似用tarjin,但要注意的是不能走从父亲过来的那一条边,在割点里那样理解 ...
- 安装docker No package docker available
安装docker 时候出现以下问题 yum -y install dockerLoaded plugins: fastestmirrorDetermining fastest mirrors * ba ...
- 九、持久层框架(MyBatis)
一.基于MyBatis的对象关系配置(基于XML方式的配置) 注: MyBatis不能像Hibernate那样,在实体类上配置上注解或者配置xml映射文件,系统启动后就可以自动创建表.因为MyBati ...
- Shelld5的使用
Shelld的连接7步 · · huhu_k: 想和你相遇.
- Java序列化的作用和反序列化
1.序列化是干什么的? 简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来.虽然你可以用你自己的各种各样的方法来保存object states,但 ...
- MySQL自带功能介绍
前言: 数据库相关的操作 1.SQL语句 *****(MySql(一)已经介绍): 2.利用mysql内部提供的功能(视图.触发器.函数.存储过程: 一.视图: 把经常使用的查询结果,做成临时视图表, ...
- python dpkt解析ssl流
用法:python extract_tls_flow.py -vr white_pcap/11/2018-01-10_13-05-09_2.pcap -o pcap_ssl_flow.txt & ...