stm32h7的ADC和DAC问题笔记

硬件定时器最基本的功能就是不需要CPU干预来实现定时、产生精确的时间间隔,比如以特定频率闪灯、输出一定频率和占空比的脉冲、定时读取/发送数据、与外部系统握手等。定时器结合DMA可以实现准确的、CPU负担小的ADC采样和DAC刷新;定时器结合输入捕获和比较通道可以实现输入波形的频率和脉宽测量;结合输出通道可以实现PWM和互补PWM,实现工业控制中需要的驱动波形。

STM32H7的ADC关键知识点:
● STM32H7支持三路ADC,分别是ADC1,ADC2和ADC3。其中ADC1和ADC2可以组成双ADC模式,ADC3是独立的。这个跟STM32F4有所不同,F4的ADC1,ADC2和ADC3可以组成三ADC模式。
● 可以配置为16bit,14bit,12bit,10bit或者8bit分辨率,分辨率越低可以做到的采样率越高,因为转换时间要短。
● 每个ADC都支持20路采样通道。其中有6路快速通道和14路慢速通道,慢速和快速的区别主要是支持的最高采样率不同,慢速通道要比快速通道低。
● 支持单独输入和差分输入,其中差分输入不支持负压测量。
● 支持偏移校准和线性度校准,STM32F1的时候还带校准功能,到了STM32F4取消掉了,H7又恢复了校准功能。
● 支持规则通道和注入通道两种采样方式。
● 支持低功耗特性,系统在低频工作时保持最佳 ADC 性能(提供自动延迟插入)。
● 具有五条专用的内部通道,内部参考电压 VrefInt,内部温度传感器和VBAT 监测通道 VBAT/4都是连接到 ADC3。另外内部 DAC 通道 1 和通道 2,连接到 ADC2。
● 支持过采样,最高可以调整到26bit采样率。
● ADC采样的数据可接入DFSDM数字滤波器进行后期处理。
● 每个ADC支持三路模拟看门狗。

笔记参考博客:

https://www.cnblogs.com/armfly/p/12180331.html

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

### STM32 H7 DAC 使用教程及技术文档 #### 1. 概述 STM32H7系列微控制器集成了高性能的数模转换器(DAC),支持多种配置选项,适用于各种应用场合。该DAC模块具有高精度快速响应的特点,适合用于音频处理、传感器模拟信号生成等领域[^2]。 #### 2. DAC 功能特性 - 支持双通道同步采样保持功能; - 提供多达两个独立的12位分辨率DAC输出; - 可通过DMA方式进行数据传输,减轻CPU负担; - 内置噪声波形发生器,可用于测试目的; - 支持软件触发或外部事件触发模式; #### 3. 配置与初始化 要启用DAC功能,需完成如下设置: ```c // 初始化结构体定义 DAC_ChannelConfTypeDef sConfig = {0}; // 开启DAC时钟 __HAL_RCC_DAC_CLK_ENABLE(); // 创建默认参数配置对象 hdac.Instance = DAC; if (HAL_DAC_Init(&hdac) != HAL_OK){ Error_Handler(); } // 设置通道具体参数 sConfig.DAC_Trigger = DAC_TRIGGER_NONE; // 不使用触发源 sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_DISABLE; // 关闭缓冲区 if (HAL_DAC_ConfigChannel(&hdac, &sConfig, DAC_CHANNEL_1) != HAL_OK){ Error_Handler(); // 错误处理函数 } ``` #### 4. 数据写入操作 向指定通道发送数值可以采用下面的方式实现: ```c uint32_t value = 2048; // 中间值对应约一半电压范围 if(HAL_DAC_SetValue(&hdac,DAC_CHANNEL_1,DAC_ALIGN_12B_R,value)!= HAL_OK){ Error_Handler(); } ``` #### 5. 启动/停止DAC工作 启动或停止DAC可以通过调用相应API来控制: ```c /* Start conversion of regular channel */ if (HAL_DAC_Start(&hdac, DAC_CHANNEL_1) != HAL_OK){ Error_Handler(); } /* Stop conversion of regular channel */ if (HAL_DAC_Stop(&hdac, DAC_CHANNEL_1) != HAL_OK){ Error_Handler(); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值