| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> DAC-DMA-TIMER总结(实现5阶正弦波) -> 正文阅读 |
|
[嵌入式]DAC-DMA-TIMER总结(实现5阶正弦波) |
一、实现原理: 先将一个可以生成正弦波的数据表(table)保存在一片固定地址的内存中,然后在DAC以及这块内存中间使用DMA建立一个专属通道,使用定时器的TRGO触发模式触发DAC,DAC模块就可以定时地通过DAM通道拿取这片内存中的正弦波的数据,然后经过DAC数模转换,输出到引脚就可以得到一定频率、幅值的正弦波(波形)了。 二、实现方法(基于GD32): 1、定义正弦波数组 const unsigned short int sine_data[200] = {? ? 2048,2308,2555,2773,2952,3083,3158,3179,3150,3075,2965,2830,2683,2535,2401,2286,2199,2144,2120,2128,? ? 2157,2205,2264,2323,2378,2419,2440,2442,2424,2388,2337,2278,2214,2154,2104,2066,2046,2042,2055,2081,? ? 2115,2153,2190,2218,2238,2242,2228,2199,2158,2105,2048,1990,1937,1896,1867,1853,1858,1877,1905,1942,? ? 1980,2014,2040,2053,2049,2029,1991,1942,1881,1817,1758,1707,1671,1653,1655,1676,1717,1772,1831,1890,? ? 1938,1968,1975,1951,1896,1809,1694,1560,1412,1265,1130,1020,945,916,937,1012,1143,1322,1540,1788,? ? 2048,2308,2555,2773,2952,3083,3158,3179,3150,3075,2965,2830,2683,2535,2401,2286,2199,2144,2120,2128,? ? 2157,2205,2264,2323,2378,2419,2440,2442,2424,2388,2337,2278,2214,2154,2104,2066,2046,2042,2055,2081,? ? 2115,2153,2190,2218,2238,2242,2228,2199,2158,2105,2048,1990,1937,1896,1867,1853,1858,1877,1905,1942,? ? 1980,2014,2040,2053,2049,2029,1991,1942,1881,1817,1758,1707,1671,1653,1655,1676,1717,1772,1831,1890,? ? 1938,1968,1975,1951,1896,1809,1694,1560,1412,1265,1130,1020,945,916,937,1012,1143,1322,1540,1788 }; 注意:全局变量已赋初值,单片机一上电后,会将此数据从ROM中拷贝到RAM中。 ? 2、初始化各路时钟(GPIOA+DMA1+DAC+TIEMR5)
3、GPIO初始化(模拟输入)
4、?DMA配置
5、DAC配置
6、定时器配置
总体实现流程: ? |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 15:28:40- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |