【stm32】DAC输出三角波锯齿波

【stm32】DAC输出三角波锯齿波及任意波形

导入DAC.ioc(见上节DAC学习笔记)

DAC输出三角波

CubeMX图形化配置

DAC配置
在这里插入图片描述
实现0.1ms定时周期
时钟树配置
在这里插入图片描述
在这里插入图片描述

程序编写

/* USER CODE BEGIN Includes */
#include "lcd.h"
/* USER CODE END Includes */
  /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 24, "Demo15_2: DAC1 triggered by TIM6", RED);lcd_show_str(10, 40, 24, "Triangular wave on PA4", RED);lcd_show_str(10, 70, 24, "Wave's interval is 819ms", RED);HAL_DAC_Start(&hdac, DAC_CHANNEL_1);uint32_t DCValue = 0;HAL_DAC_SetValue(&hdac, DAC_CHANNEL_1, DAC_ALIGN_12B_R, DCValue);HAL_TIM_Base_Start(&htim6);/* USER CODE END 2 */

实现效果

采用CubeMonitor监测生成波形
在这里插入图片描述
也可用示波器检测波形生成结果

生成噪声波

在此处更改配置
在这里插入图片描述

生成锯齿波(任意波形)

使用DMA触发任意波形
在这里插入图片描述
在这里插入图片描述
若要调整锯齿波的周期,修改TIM6的分频系数和计数周期即可

程序编写

/* USER CODE BEGIN Includes */
#include "lcd.h"
#include "keyled.h"
/* USER CODE END Includes */
  /* USER CODE BEGIN 2 */lcd_init();lcd_show_str(10, 10, 24, "Demo15_3: DAC output with DMA", RED);lcd_show_str(10, 40, 24, "Sawtooth wave on PA4", RED);lcd_show_str(10, 70, 24, "Wave's interval is 100ms", RED);uint32_t userWave[1000];userWave[0] = 0;for (uint16_t i = 1; i < 1000; ++i) {userWave[i] = userWave[i - 1] + 4;}HAL_DAC_Start_DMA(&hdac, DAC_CHANNEL_1, userWave, 1000, DAC_ALIGN_12B_R);HAL_TIM_Base_Start(&htim6);/* USER CODE END 2 */

重写回调函数

/* USER CODE BEGIN 4 */
void HAL_DAC_ConvCpltCallbackCh1(DAC_HandleTypeDef *hdac) {LED0_Toggle();
}
/* USER CODE END 4 */

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/687570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《Go 简易速速上手小册》第3章:数据结构(2024 最新版)

文章目录 3.1 数组与切片&#xff1a;Go 语言的动态队伍3.1.1 基础知识讲解3.1.2 重点案例&#xff1a;动态成绩单功能描述实现代码扩展功能 3.1.3 拓展案例 1&#xff1a;数据分析功能描述实现代码扩展功能 3.1.4 拓展案例 2&#xff1a;日志过滤器功能描述实现代码扩展功能 3…

DBProxy sh bootstrap.sh失败

记录DBProxy安装问题 configure: error: mysql_config is not found, use $ ./configure --with-mysql/path/to/mysql_config 修改configure文件 增加MYSQL_CONFIG/usr/local/mysql&#xff0c;指定mysql安装目录

论文阅读_语音识别_Wisper

英文名称: Robust Speech Recognition via Large-Scale Weak Supervision 中文名称: 通过大规模弱监督实现鲁棒语音识别 链接: https://proceedings.mlr.press/v202/radford23a.html 代码: https://github.com/openai/whisper 作者: Alec Radford, Jong Wook Kim, Tao Xu, Greg…

vue2+高德地图web端开发(二)

前言&#xff1a; 高德地图输入提示与 POI 搜索相关文档&#xff1a;输入提示与 POI 搜索-服务插件和工具-进阶教程-地图 JS API 2.0 | 高德地图API (amap.com) 输入提示-输入提示-示例中心-JS API 2.0 示例 | 高德地图API (amap.com) 创建输入框&#xff1a; 引入Element组…

渲染案例 |《甲辰春来,福暖四季》蓝海创意云助力央视新闻频道打造2024龙年除夕视觉盛宴

随着2024年甲辰龙年的脚步渐近&#xff0c;中央广播电视总台新闻频道精心策划的除夕特别节目《甲辰春来&#xff0c;福暖四季》于2月9日上午9点准时与全国观众见面。这一场充满传统韵味与现代气息的视觉盛宴&#xff0c;不仅展现了浓厚的节日氛围&#xff0c;更在技术上实现了突…

Halcon 元组/数组基本操作

Halcon 元组/数组基本操作 ** 元组/数组 tuple *******数组创建与字典******* ** 创建一个数组 A : [1,3,45,6] A[0] : 1 A[1] : 2** 定义一个key value字典类型create_dict (DictHandle) set_dict_tuple (DictHandle, test_tuple, A) set_dict_tuple (DictHandle, test_obj, …

[HTML]Web前端开发技术26(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

Java数字孪生智慧工地数据大屏APP项目源码

目录 智慧工地云平台核心功能 1.劳务管理 2.视频监控 3.安全教育 4.进度管理 5.环境监测 6.塔吊监控 7.升降机监控 8.工地广播 9.深基坑高支模 10.AI识别 11.安全质量 智慧工地建设的价值和意义 危大工程管理 智慧工地聚焦施工现场一线生产活动&#xff0c;利用物…

数字孪生10个技术栈(总括):概念扫盲和总体介绍

数字孪生涉及到诸多技术领域&#xff0c;千汇数据工场将分为10个技术领域来介绍数字孪生&#xff0c;力争将复杂的技术术语给出最浅显易懂的解释&#xff0c;不会上复杂的的代码&#xff0c;大家可以畅快阅读。 本片先从总体上介绍数字孪生技术栈。 一、什么是数字孪生 数字孪…

【github】利用Git将自己的代码上传至GitHub

记录一下将自己的代码上传GitHub的步骤。    Git工具下载&#xff1a;https://git-for-windows.github.io/ 1、在github上建立项目 首先在github主页上&#xff0c;创建一个reopsitory&#xff0c;并命名为PHF-Test&#xff0c;可添加项目描述&#xff08;Description&#x…

骨传导耳机好用吗?如何挑选骨传导耳机?

骨传导耳机是一种非常创新的骨传导耳机&#xff0c;采用耳挂式佩戴&#xff0c;使用起来也非常舒适。 而且骨传导耳机最近几年还是比较火的&#xff0c;骨传导耳机的出现解决了传统入耳式耳机长时间佩戴不舒服、听力受损等问题。但随着骨传导耳机的品牌逐渐变多&#xff0c;很多…

React 更改程序入口点(index.js文件位置变更)

食用前提示&#xff1a;本文基于已经快速配置好的React环境而作&#xff0c;配置React环境详见拙作&#xff1a;React环境配置-CSDN博客~ 一、了解默认入口点 使用create-react-app快速搭建react环境后&#xff0c;npm start启动程序的默认入口点为/src/index(即src目录下的ind…

P2024 [NOI2001] 食物链 带权并查集 循环关系

题目&#xff1a; P2024 [NOI2001] 食物链 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 本文学习自&#xff1a; 题解 P2024 【食物链】 - RE: 从零开始的异世界信竞生活 - 洛谷博客 (luogu.com.cn) ———— 关系并查集其实就是在普通并查集的基础上额外开个数组r…

从零开始学howtoheap:解题西湖论剑Storm_note

how2heap是由shellphish团队制作的堆利用教程,介绍了多种堆利用技术,后续系列实验我们就通过这个教程来学习。环境可参见从零开始配置pwn环境:从零开始配置pwn环境:从零开始配置pwn环境:优化pwn虚拟机配置支持libc等指令-CSDN博客 1.题目信息 https://github.com/ble55…

学习对象原型中的hasOwnProperty()

hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性&#xff0c;如果是&#xff0c;返回true&#xff0c;否者false; 参数propertyName指要检测的属性名&#xff1b;

揭秘铷原子钟:北斗卫星系统的“心脏”

揭秘铷原子钟&#xff1a;北斗卫星系统的“心脏” 近日&#xff0c;中国科学院精密测量科学与技术创新研究院的梅刚华团队发布了一项重要成果。他们成功将铷原子钟的短期频率稳定度提高到了E-14&#xff08;即10的负14次方&#xff0c;相当于百万亿分之一&#xff09;的量级&a…

作业帮 x TiDB丨多元化海量数据业务的支撑

导读 作业帮是一家成立于 2015 年的在线教育品牌&#xff0c;致力于用科技手段助力教育普惠。经过近十年的积累&#xff0c;作业帮运用人工智能、大数据等技术&#xff0c;为学生、老师、家长提供学习、教育解决方案&#xff0c;智能硬件产品等。随着公司产品和业务场景越来越…

阿里云服务器配置选择方法和经验(CPU+内存+宽带)

阿里云服务器配置怎么选择&#xff1f;根据实际使用场景选择&#xff0c;个人搭建网站可选2核2G配置&#xff0c;访问量大的话可以选择2核4G配置&#xff0c;企业部署Java、Python等开发环境可以选择2核8G配置&#xff0c;企业数据库、Web应用或APP可以选择4核8G配置或4核16G配…

18. 【Linux教程】vim 编辑器

前面小节介绍如何创建文件、移动文件、删除文件&#xff0c;但之前都没有介绍如何修改文件内容&#xff0c;本小节介绍如何使用 vim 编辑器对文件内容进行修改&#xff0c;另外介绍 vim 编辑器的安装和使用。 1. vim 编辑器简介 vim 编辑器是由 vi 发展而来的文本编辑器。它的…

大屏设计:公说公有理婆说婆有理!错,看这十个判定标准。

“公说公有理&#xff0c;婆说婆有理”这句话通常用来形容争论双方都认为自己是正确的&#xff0c;而且都有自己的理由和观点。在设计中&#xff0c;这种情况也是很常见的。 为什么会公说公有理婆说婆有理&#xff1f; 设计是一门艺术和技术相结合的学科&#xff0c;涉及到很多…