笔记-STM32F407 DAC-DMA-TIM输出正弦波

2023-10-27

//通用定时器6中断初始化

//arr:自动重装值。
//psc:时钟预分频数
//定时器溢出时间计算方法:Tout=((arr+1)*(psc+1))/Ft us.
//Ft=定时器工作频率,单位:Mhz
//这里使用的是定时器6!
void TIM6_Init(u16 arr, u16 psc)
{
    TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;

    RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); ///使能TIM6时钟

    TIM_TimeBaseInitStructure.TIM_Period = arr; 	//自动重装载值
    TIM_TimeBaseInitStructure.TIM_Prescaler = psc; //定时器分频
    TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; //向上计数模式
    TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1;

    TIM_TimeBaseInit(TIM6, &TIM_TimeBaseInitStructure); //初始化TIM6
	
	/* TIM6 TRGO selection */
	TIM_SelectOutputTrigger(TIM6, TIM_TRGOSource_Update);
	
	TIM_Cmd(TIM6, DISABLE); //使能定时器6

}

//DAC输出配置

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

笔记-STM32F407 DAC-DMA-TIM输出正弦波 的相关文章

  • 【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

    IAP在应用编程 In Application Programming 指的是MCU在运行应用程序时 能接收新的烧写文件 并更新到自身的程序存储器中 即可以在应用程序运行时在线升级 本节我们通过一个简单的例子 来实现STM32的IAP功能
  • 血压计算法

    1 1 动脉平均压的计算 动脉平均压 MAP 是血压波 P t 形在一个周期内的积分除以周期T 其定义如下 均压反映了动脉血压的数值和波形 从试波法原理的两条基本原则 振荡波包络线呈现出近似抛物线的形态 脉搏振荡波振幅最大对应的袖带压力为平
  • 什么是大小端?如何确定大小端?

    一 什么是大小端 对于一个由2个字节组成的16位整数 在内存中存储这两个字节有两种方法 一种是将低序字节存储在起始地址 这称为小端 little endian 字节序 另一种方法是将高序字节存储在起始地址 这称为大端 big endian
  • STM32 基础系列教程 18 – IWDG

    前言 学习stm32 独立看门狗 IWDG 接口使用 学会用STM32内部独立看门狗 IWDG 实现程序异常时自复位功能 STM32F10xxx内置两个看门狗 提供了更高的安全性 时间的精确性和使用的灵活性 两个看门狗设备 独立看门狗和窗口
  • STM32 基础系列教程 38 - Lwip_http

    前言 HTTP协议 HyperText Transfer Protocol 超文本传输协议 是因特网上应用最为广泛的种网络传输协议 所有的WWW文件都必须遵守这个标准 HTTP是一个基于TCP IP通信协议来传递数据 HTML 文件 图片文
  • 基于FREERTOS系统的LWIP协议移植(STM32F1战舰版)

    文章目录 参考文献 前言 源码链接 FREERTOS系统介绍 FREERTOS系统之API函数 1 创建任务函数xTaskCreate 2 删除任务函数xTaskDelete 3 创建二值信号量函数xSemaphoreCreateBinar
  • 《深入理解计算机系统》(CSAPP)实验三 —— Buf Lab

    这是CSAPP的第三个实验 主要让我们熟悉GDB的使用 理解程序栈帧的结构和缓冲区溢出的原理 实验目的 本实验的目的在于加深对IA 32函数调用规则和栈结构的具体理解 实验的主要内容是对一个可执行程序 bufbomb 实施一系列缓冲区溢出攻
  • 汇编基础知识

    一 汇编语法 1 GNU 汇编语法适用于所有的架构 并不是 ARM 独享的 GNU 汇编由一系列的语句组成 每行一条语句 每条语句有三个可选部分 如下 label instruction comment label 即标号 表示地址位置 有
  • 怎样入门嵌入式嵌入式未来的发展方向

    概述 很多工程师要往嵌入式方向发展 特别是ARM得到应用后 这个趋势更是有增无减 但你真的知道怎样入门嵌入式么 你知道嵌入式未来的发展方向么 怎样入门嵌入式嵌入式未来的发展方向 在很多学生或者初级工程师都关注嵌入式 尤其在ARM大红大紫以后
  • 嵌入式开发之堆栈调试打印

    简介 打印堆栈的常用方法包括 glibc中的backtrace函数 gcc内置函数 builtin return address 第三方库libunwind 1 glibc中的backtrace 1 1函数原型 include
  • Unicode 编码表下载

    概述 很多项目都使用了Unicode 编码表 在此 做个笔录 官网 1 第一入口 https home unicode org 2 第二入口 Unicode 14 0 Character Code Charts 3 第三入口 http ww
  • 完美解决 keil5.25 某宝Jlink无法使用问题

    首先再次声明下 支持正版 打击盗版 有钱就去买个正版的吧 最近开心地给实验室的电脑装上新版的Keil 5 25 可是装完后发现JLINK无法使用了 直接提示SN什么的 总之就是盗版问题 网上找个各种换 KEIL安装目录中的 ARM Segg
  • 嵌入式入门基础知识有哪些?

    嵌入式系统是指在特定应用领域内为满足特定要求而设计的计算机系统 通常被嵌入到设备中 具有实时性 可靠性 低功耗等特点 嵌入式系统应用广泛 例如 智能家居 智能手表 汽车控制系统 医疗设备等 在本篇博客中 我们将讨论嵌入式入门基础知识 包括嵌
  • STM32 基础系列教程 36 - Lwip_dns

    前言 域名系统 英文 DomainNameSystem 缩写 DNS 是互联网的一项服务 它作为将域名和IP地址相互映射的一个分布式数据库 能够使人更方便地访问互联网 DNS使用TCP和UDP端口53 当前 对于每一级域名长度的限制是63个
  • 基于MCU,如何零代码无开发实现OTA差分升级?

    概述 随着物联网设备智能化的发展 OTA 升级已经成为了业界公认的基础能力 而 OTA 在设计和实现过程中需要依赖于物联网设备的硬件方案 物联网设备主流的硬件方案为 1 直接基于通讯芯片 模块开发的方案 用户升级的主要目标是通讯芯片 模块
  • 嵌入式软件国际化(多语言) 点阵字库选择分析

    概述 嵌入式软件国际化 多语言 点阵字库选择分析 多字节字符集与unicode 多字节编码最大的问题在于每一个语种的字符集编码不兼容 unicode的好处在于将所有人类语种字符都有了统一的编码 现在世界上语言基本都包含在了基本多文种平面0上
  • STM32的烧录和Hex/bin烧录文件解析、烧录文件是被如何存储到MCU中的?

    什么是hex文件 以 hex为后缀的文件我们称之为HEX文件 hex是intel规定的标准 hex的全称是Intel HEX 此类文件通常用于传输将被存于ROM或EEPROM中的程序和数据 是由一行行符合Intel HEX文件格式的文本所构
  • Beyond Compare 3 许可证密钥被撤销

    最近在使用 Beyond Compare 3 时突然出现 许可证密钥被撤销 问题 现象截图以下 自己清除注册表并重新安装后还是出现相同的问题 没办法只能求助于百度 找到解决方法 删除 C Users Administrator AppDat
  • 在WINDOW 系统下如何用批处理命令生成代码

    如图要实现一个每次编译都会自动重新生成的代码 一般是 软件版本相关的代码最适合这种自动生成 上图中需在用到编译时间和日期 来直接上代码 BEGIN COLOR 07 cls echo off ECHO ECHO 自动生成软件版本号 ECHO
  • keil更改黑色背景颜色

    1 先将keil安装目录下UV4中global文件复制出来留作备用 然后用记事本打开安装目录下的global文件 2 将下面的内容全部替换global里的内容 然后保存 properties for all file types inden

随机推荐

  • 基于Hutools图片上传下载

    1 pom依赖
  • Python视觉处理(二)线检测

    python线检测使用的时cv HoughLinesP 函数 它有两个参数 minLineLength 线的最短长度 比这个线短的都会被忽略 MaxLineGap 两条线之间的最大间隔 如果小于此值 这两条线就会被看成一条线 这个函数的返回
  • 物理层(1.物理层基本概念&2.数据通信基础知识)

    物理层的作用就是在连接计算机的传输介质上传输数据比特流 并且尽可能屏蔽掉传输媒体和通信手段的差异 一 物理层的基本概念 1 机械特性 指明接口所用接线器的形状和尺寸 引线数目和排列 固定和锁定装置等 2 电气特性 指明在接口电缆的各条线上出
  • 五大常用算法之三:动态规划

    动态规划 动态规划 Dynamic Programming 简称DP 需要分解出问题的子结构以及通过子结构重新构造最优解 动态规划不像回溯法 有套路可以套用 动态规划需要大量练习 才能掌握规律 一般思路 1 判断问题的子结构 有最优子结构时
  • vit网络模型简介

    目录 一 前言 1 1 Transformer在视觉领域上使用的难点 1 2 输入序列长度的改进 1 3 VIT对输入的改进 二 Vision Transformer模型 2 1 Embedding层 2 2 Transformer Enc
  • Java 8 – 从一个 Stream中过滤null值

    复习一个Stream 包含 null 数据的例子 Java8Examples java package com mkyong java8 import java util List import java util stream Colle
  • 人工智能涉及算法

    最近需要提交高级人工网络的课程论文 故查找一下资料 做如下记录 后期会继续补充部分算法的的详细内容 自己的理解和代码实现部分 人工智能的三大基石 算法 数据和计算能力 就算法来看 涉及如下几种 一 按照模型训练方式不同分类 可以分为监督学习
  • shell编程实现:依次提示用户输入3个整数,脚本根据数字大小依次排序输出3个数字。

    关于这个题目 有如下代码 bin bash read p 请输入一个整数 num1 read p 请输入一个整数 num2 read p 请输入一个整数 num3 tmp 0 if num1 gt num2 then tmp num1 nu
  • WXSS:微信小程序版CSS

    完整微信小程序 Java后端 技术贴目录清单页面 必看 WXSS WeiXin Style Sheets 是一套样式语言 用于描述 WXML 的组件样式 WXSS 用来决定 WXML 的组件应该怎么显示 为了适应广大的前端开发者 WXSS
  • MySQL 输入任何语句都提示You must reset your password using ALTER USER 解决方法

    安装并配置完成MySQL 5 7 21 修改第一次密码并登陆后 出现提示 You must reset your password using ALTER USER 的提示错误语句 解决办法如下 SET PASSWORD PASSWORD
  • 18-数据结构-查找-B树和B+树

    简介 B树和B 树 都是当存储数据较大时 从硬盘读取数据的优化 emm 我这么说有点迷糊 还是从应试考试的角度解释吧 B树和B 树 都是在二叉排序树的基础上 优化的 跟二叉排序树很像 但B树它由于相比于二叉排序树 降低了树高 即一个结点内可
  • ubuntu下安装和配置Qt5.12.8

    1 下载qt opensource linux x64 5 12 8 run 2 sudo qt opensource linux x64 5 12 8 run 这样会安装到 opt目录下 3 安装过程中 要先拔掉网线 再装 一路默认 到选
  • 动态路由协议EIGRP配置实战

    一 路由协议概述 1 路由协议简介 对于路由器而言 要找出最优的数据传输路径是一件比较有意义却很复杂的工作 最优路径有可能会有赖于节点间的转发次数 当前的网络运行状态 不可用的连接 数据传输速率和拓扑结构 为了找出最优路径 各个路由器间要通
  • Java:如何正确使用Timer【java定时器的使用(Timer) 】

    在需要按时间计划执行简单任务的情况下 Timer是最常被使用到的工具类 使用Timer来调度TimerTask的实现者来执行任务 有两种方式 一种是使任务在指定时间被执行一次 另一种是从某一指定时间开始周期性地执行任务 下面是一个简单的Ti
  • dataframe 转 字典

    背景 将商品id以及商品类别作为字典的键值映射 生成字典 原为DataFrame 创建一个DataFrame 列值类型均为int型 import pandas as pd item pd DataFrame item id 100120 1
  • IDEA插件Apifox,一键自动生成接口文档!

    一 Apifox插件的优势 作为一名后端开发在项目开发过程中 肯定需要提供接口文档 一般我们有两种方案 项目结合Swagger 自动生成接口文档 手动将接口复制到其它接口文档 比如postman Apifox 第一种方案缺陷在于 为了生成完
  • html table tb左对齐,标签之美五——网页表格的设计

    标签之美 网页表格的使用 通过表格 可以使网页排版更加清晰 形式更加简洁漂亮 一 表格布局中三个重要的标签 1 表格的开始和结束标签 行列的布局都在 2 行标签的开始和结束 3 列标签的开始和结束 行标签在列标签的外层 不能单独使用 其中必
  • vue项目使用element-ui组件上传文件报错upload.addEventListener is not a function Mock数据报错的解决方案

    分享下使用element ui组件上传文件时报错upload addEventListener is not a function Mock的解决方案 首先出现这个错误的原因 主要是因为mockjs改动了axios里面XMLHttpRequ
  • STM32在Keil中芯片内部内存溢出

    STM32在Keil中芯片内部内存溢出 问题出现原因 在Keil5的Arm6 编译器中 STM32和SD ram 无法建立连接 导致编译不通过 解决方案 在全局变量只能设置外部RAM uint32 t trstsra 25000000 at
  • 笔记-STM32F407 DAC-DMA-TIM输出正弦波

    通用定时器6中断初始化 arr 自动重装值 psc 时钟预分频数 定时器溢出时间计算方法 Tout arr 1 psc 1 Ft us Ft 定时器工作频率 单位 Mhz 这里使用的是定时器6 void TIM6 Init u16 arr