STM32 基础系列教程 31 – DAC

2023-11-09

前言

学习stm32 DAC数模转换接口使用,学会用STM32 的DAC接口,通过DAC接口将数字信号转变成模拟信号输出,或查看内部变量值的变化波形,学习DAC波形发生器的使用。

示例详解

基于硬件平台: NUCLEO-F302R8 NUCLEO板, MCU 的型号是 STM32F302R8, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。

https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1557212842874&di=874d1501bf338b92a5763365ee58a806&imgtype=0&src=http%3A%2F%2Fres.cloudinary.com%2Fmakehubtw%2Fimage%2Fupload%2Fv1475362310%2Fseeed%2F105990013%2FNUCLEO-F401RE_02.jpg

 

本示例所用的系统板原理图(完整全理图可从ST官方下载或关注公众号下载):

 

    1. 关于CUBEMX工具及KEIL工具的操作将不再细讲,如果还有不熟悉的可以查看之前的教程文档。下面直接介绍工程配置,需要指出的是NUCLEO-F302R8开发板在stm32CubeX可以直接使用:

直接用上图中的开发板来开启工程,可以节省一些通用设备的配置步骤,如下图中圈出的部分均可直接自动生成,省去手动配置过程。

 

      1. 系统时钟树

      1. DAC配置

 

      1. 引脚配置(保持默认即可)

 

      1. 中断配置(保持默认即可)

 

 

 

 

    1. 工程代码
      1. 分别在main.c中加入如下图所示代码:

如果代码便可实现在PA4引脚上输出锯齿波,I+=4对应是上升锯齿波,I-=4对应下降锯齿波,用示波器可以观察到如下波形:

上面的波形也可以直接用DAC模块结合定时器来实现,DAC及定时器的配置如图所示:

编译工程,在示波器观察PA4引脚波形,可以看到有如下三角波形:

DAC还有内置的噪声发生功能,对DAC模块完成如下配置:

在示波器上对的应波形有:

 

OK,本期实验完成!下期见!同时如果大家有什么疑问或是有想了解的其它内容,也欢迎大家留言!!最后喜欢这个公众号的同学们记得加关注了,每天都会有技术干货推出!!

 

文中资料下载,在公众号里给十三发消息:

下载|STM32基础系列教程31

 

关注十三公众号

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 基础系列教程 31 – DAC 的相关文章

  • 在没有 IDE 的情况下如何使用 CMSIS?

    我正在使用 STM32F103C8T6 并想使用 CMSIS 这本质上只是寄存器定义 没有代码 让我的生活更轻松 同时仍保持在较低水平 问题是我不知道如何安装该库以便在命令行上使用 Makefile 使用 所有文档似乎都与特定于供应商的 I
  • GCC - 如何停止链接 malloc?

    我正在努力将我的代码缩减到最小的骨架大小 我使用的是只有 32k 闪存的 STM32F0 需要很大一部分闪存用于数据存储 我的代码已经有大约 20k 闪存大小 其中一些是由于使用了 STM32 HAL 函数 我可以在以后需要时对其进行解释和
  • 当数据大小较小时,内存到内存 DMA 传输是否需要权衡?

    我正在学习 STM32 F4 微控制器 我正在尝试找出使用 DMA 的限制 根据我的理解和研究 我知道如果数据量较小 即设备使用DMA生成或消耗少量数据 则开销会增加 因为DMA传输需要DMA控制器执行操作 从而不必要地增加系统成本 我做了
  • 139-基于stm32单片机老人居家监护报警系统Proteus仿真+源程序

    资料编号 139 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 MQ4传感器 电位器模拟 MQ2传感器 电位器模拟 蜂鸣器 电机 制作一个基于stm32单片机老人居家监护报警系统Proteus仿真 2 通过MQ2传
  • 140-基于stm32单片机智能晾衣杆控制系统Proteus仿真+源程序

    资料编号 140 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 光敏传感器 蜂鸣器 LED灯 制作一个基于stm32单片机智能晾衣杆控制系统Proteus仿真 2 通过光敏传感器
  • 138-基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真+源程序

    资料编号 138 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 ds1302时钟 LED灯 蜂鸣器 电位器 制作一个基于stm32单片机汽车多功能仪表盘显示系统Proteus仿真 2 通过DHT1
  • 135-基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真+源程序

    资料编号 135 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DHT11传感器 电机 超声波传感器 制作一个基于stm32单片机超声波非接触式感应水龙头控制系统Proteus仿真 2 通过DHT11传感器检测当前
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • 物联网网关

    物联网网关是 连接物联网设备和互联网的重要桥梁 它负责将物联网设备采集到的数据进行处理 存储和转发 使其能够与云端或其它设备进行通信 物联网网关的作用是实现物联网设备与云端的无缝连接和数据交互 物联网网关功能 数据采集 物联网网关可以从物联
  • 毕业设计 江科大STM32的智能温室控制蓝牙声光报警APP系统设计

    基于STM32的智能温室控制蓝牙声光报警APP系统设计 1 项目简介 1 1 系统构成 1 2 系统功能 2 部分电路设计 2 1 stm32f103c8t6单片机最小系统电路设计 2 2 LCD1602液晶显示电路设计 2 2 风
  • SHT10温湿度传感器——STM32驱动

    实验效果 硬件外观 接线 3 3V供电 IIC通讯 代码获取 查看下方 END
  • HAL 锁定和解锁函数如何使用以及为什么?

    我试图理解另一位程序员编写的代码 它使用了I C http en wikipedia org wiki I C2 B2C通信以将数据写入 STM32 微控制器的 EEPROM 一般来说 我理解他的代码是如何工作的 但我不明白他为什么使用HA
  • VS Code 有没有办法导入 Makefile 项目?

    正如标题所说 我可以从现有的 Makefile 自动填充 c cpp properties json 吗 Edit 对于其他尝试导入 makefile 的人 我找到了一组脚本 它们完全可以实现我想要实现的目标 即通过 VS Code 管理
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • 嵌入式开发--STM32G4系列片上FLASH的读写

    这个玩意吧 说起来很简单 就是几行代码的事 但楞是折腾了我大半天时间才搞定 原因后面说 先看代码吧 读操作 读操作很简单 以32位方式读取的时候是这样的 data IO uint32 t 0x0800F000 需要注意的是 当以32位方式读
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 在 Contiki 程序中使用 malloc

    考虑以下 Contiki 程序 include
  • STM32F0、ST-link v2、OpenOCD 0.9.0:打开失败

    我在用着发射台 http www ti com ww en launchpad about htmlgcc arm none eabi 4 9 2015q2 为 STM32F0 进行编译 现在我想使用该集合中的 arm none eabi
  • stm32l0: 执行MI命令失败。使用 vFlashErase 数据包擦除闪存时出错

    我正在使用 Nucleo STM32L031 和 AC6 STM32 工作台 eclipse 我编写应用程序并进入调试模式 一切正常 直到我在应用程序中添加另一个功能 我注意到当我删除 评论 新函数 软件可以再次进入调试模式 但是当我添加

随机推荐

  • 关于web3营销的一切知识

    Web3 时而神秘代表未来 有时又充满黑暗与欺骗 因为 Web3 与科技和金融紧密相关 而这两者又代表着当今世界的方向与人性 有很多人在说 Web3 就是数据的归属权转移 而我认为除此之外 Web3 更是社会里众多组织架构 利益关系 资源配
  • R语言基础 5 (常用函数及其应用)

    R语言的函数形式为 Functionname variable1 variable2 对于R中的函数可以有如下分类 下面我们将按以上分类介绍一些常见的函数 及其使用方法 一 数学函数 1 abs x 绝对值 gt abs 4 1 4 2 s
  • 低成本IMU的标定与性能评价

    低成本IMU的标定与性能评价 摘要 IMU 惯性测量单元 被广泛的使用在许多的机器人应用中 例如导航和建图任务 在大部分这种系统中 IMU和其他传感器数据 如 GPS 距离传感器 相机 进行融合 为了更好的结果 为了最小化系统的传播误差 I
  • Linux线程的基本使用

    目录 一 基本概念 二 线程 1 线程创建 2 线程退出 3 线程等待 4 线程创建Demo 三 互斥锁 1 创建及销毁互斥锁 2 加锁及解锁 3 互斥锁Demo 4 面试问题 进入死锁 四 条件 1 创建及销毁条件变量 2 等待 3 触发
  • C语言学习笔记(一)

    1 不是注释 注意与python的区别 注释是 2 main函数是程序的入口 是主函数 c程序必须有一个main函数 3 main前面的 int 表示main函数调用之后返回一个整型值 有的main函数前面是viod 表示主函数无返回值 但
  • 【华为OD机试真题2023B卷 JAVA&JS】评论转换输出

    华为OD2023 B卷 机试题库全覆盖 刷题指南点这里 评论转换输出 时间限制 1s 空间限制 256MB 限定语言 不限 题目描述 在一个博客网站上 每篇博客都有评论 每一条评论都是一个非空英文字母字符串 评论具有树状结构 除了根评论外
  • 计算机视觉系列-2-图像分类

    给定一张输入图像 图像分类的任务是判断该图像属于哪类 如果是多任务分类 可以用于分类该图像包含哪个类别 深度学习作为机器学习中非常重要的分支 在图像领域中应用非常广泛 在图像分类任务中 通常采用卷积层 CNN 提取特征 加上全连接层进行分类
  • 【牛客网】不要二

    题目描述 二货小易有一个W H的网格盒子 网格的行编号为0 H 1 网格的列编号为0 W 1 每个格子至多可以放一块蛋糕 任意两块蛋糕的欧几里得距离不能等于2 对于两个格子坐标 x1 y1 x2 y2 的欧几里得距离为 x1 x2 x1 x
  • Springboot之Bean的加载过程

    加载和实例化bean分以下几个重要步骤 1 根据package扫描出需要被管理的类 2 将这些类封装成BeanDefinition并注册到BeanFactory容器 3 实例化所有扫描到的BeanDefinition 其中包括解决循环依赖
  • openCV中convertTo的用法

    convertTo的用法 src convertTo dst type scale shift img参数为图像数据来源 其类型为Mat 注意也不是所有格式的Mat型数据都能被使用保存为图片 目前OpenCV主要只支持单通道和3通道的图像
  • 1--线性神经网络(softmax回归)

    1 1 softmax简述 1 1 1 softmax回归和线性回归的异同 首先线性回归是一种回归算法 根据当前数据去学习直线的两个参数 适 于输出为连续值的情景 而softmax回归则是一种分类算法 该算法将输出的是该样本属于每个类别的概
  • IDEA2020.1中plugins中搜索不到插件问题解决

    方法1 老版本的 File gt setting界面 gt Updates gt 去掉Use secure connection的勾 方法2 https plugins jetbrains com 设置完多等一会就能搜索了 再不行就用手机热
  • python创建文件linux_Python脚本远程Linux创建目录、上传文件

    最近这段时间 经常通过xftp在服务器上创建目录并上传文件 繁琐的事一直循环的做 因此一直在想通过Python脚本能自动创建目录 上传文件 询问公司大佬和百度终于找到了方法 接下来看看 一 说明 主要安装两个模块paramiko与scp 功
  • Android 应用黑名单:保护你的设备免受恶意应用侵害

    Android 应用黑名单 保护你的设备免受恶意应用侵害 在当前的移动应用生态系统中 安全性是一个至关重要的问题 恶意应用程序的出现给用户的隐私和数据安全带来了巨大威胁 为了保护用户免受这些威胁 我们可以使用一个简单而有效的方法 应用黑名单
  • 【Wechat】微信小程序注册以及认证流程

    小程序注册流程 1 注册方法 在微信公众平台官网首页 mp weixin qq com 点击右上角的 立即注册 按钮 2 选择注册的帐号类型 选择 小程序 点击 查看类型区别 可查看不同类型帐号的区别和优势 3 填写邮箱和密码 请填写未注册
  • Dev-C++的安装方法

    1 下载安装包 下载地址 https bloodshed dev c en softonic com 打开网址后单击 Free Download 单击新的界面中的 Free Download 下载好后单击 Relaunch download
  • java 变量名_java获取类中的变量名(利用反射机制)

    要获取的类 package com jzxk server entities player public class Hero public int Id public String loginId public String heroNa
  • 一个人的命运决定于晚上8点到10点之间

    经典语录1 哈佛有一个著名的理论 人的差别在于业余时间 而一个人的命运决定于晚上8点到10点之间 每晚抽出2个小时的时间用来阅读 进修 思考或参加有意的演讲 讨论 你会发现 你的人生正在发生改变 坚持数年之后 成功会向你招手 不要每天抱着Q
  • KOA框架编程24 在线聊天室(非常有价值的文章)

    目录 1 前言 2 功能介绍 3 前端代码 3 1 代码结构 3 2 源码下载 3 3 难点分析
  • STM32 基础系列教程 31 – DAC

    前言 学习stm32 DAC数模转换接口使用 学会用STM32 的DAC接口 通过DAC接口将数字信号转变成模拟信号输出 或查看内部变量值的变化波形 学习DAC波形发生器的使用 示例详解 基于硬件平台 NUCLEO F302R8 NUCLE