目录

  • 一、概述
  • 二、Pinout&Configuration
    • 2.1 选择端口
    • 2.2 开启DMA中断
  • 三、测试ADC

一、概述

本文记录下ADC的使用过程,主要是后续使用,能有个参考。
芯片: STM32G0B1RCT6

二、Pinout&Configuration

2.1 选择端口



2.2 开启DMA中断

三、测试ADC

测试代码可参考demo工程,同样是DMA方式:

主要步骤为:

  1. 定义采集值缓存
  2. 开启ADC校准
  3. 开启DMA功能*。
  4. 主循环内重复开启ADC转换并打印采集结果:
  5. 发现打印结果如下,每次只转换了一个通道:

    开启ADC后1S还不够采集完成吗?
  6. 回到demo中查看,是在回调函数中设置标志,然后在主循环中判断标志才进行打印。

    修改后果然正常了:

    这样看来每次开启ADC,只转换了一个通道。CubeMX设置有些问题。使能了scan扫描模式,应该会转换完所有通道吧?回头再看下。

注意:HAL_ADC_Start_DMA后,不要使用立即调用HAL_ADC_Start。

2021-12-9补充:

  1. 前面混合使用了HAL_ADC_Start_DMA和HAL_ADC_Start,是有些问题的。可以只使用HAL_ADC_Start_DMA,但要注意,不能重复调用,每次转换完要先使用HAL_ADC_Stop_DMA关闭。

  2. 修改cube设置

    转换完所有通道后关闭ADC。

STM32CubeMX使用(四)之DMA方式使用ADC相关推荐

  1. STM32CUBEMX(2)--USART通过DMA方式接收不定长数据

    STM32CUBXME--2USART通过DMA方式接收不定长数据 概述 硬件准备 选择芯片型号 配置时钟源 配置时钟树 串口配置 生成工程设置 代码生成设置 生成代码 配置keil 代码 演示效果 ...

  2. (计算机组成原理)第七章输入和输出系统-第四节3:I/O方式之DMA方式

    文章目录 一:什么是DMA方式 二:DMA控制器组成 三:DMA传送过程 (1)预处理 (2)数据传送 (3)后处理 四:DMA方式的特点 五:DMA传送方式 (1)停止CPU访问主存 (2)DMA和 ...

  3. STM32F0使用LL库实现DMA方式AD采集

    在本次项目中,限于空间要求我们选用了STM32F030F4作为控制芯片.这款MCU不但封装紧凑,而且自带的Flash空间也非常有限,所以我们选择了LL库实现.在本文中我们将介绍基于LL库的ADC的DM ...

  4. STM32之ADC实例(基于DMA方式)

    出处:https://blog.csdn.net/zouleideboke/article/details/75112224?locationNum=9&fps=1 ADC简介: ADC(An ...

  5. STM32CubeIDE STM32H743实现软件触发ADC实现多通道DMA方式、过采样方式采集数据

    在STM32CubeIDE 1.4.0环境下测试通过. 1. ADC设置 设置CPU频率:400MHz ADC输入时钟自动设置为:150MHz 2. DMA设置 3. NVIC设置 4. 代码 //d ...

  6. STM32F1与STM32CubeIDE快速入门-ADC通过DMA方式与PWM实现调光器

    DMA 方法是以非常高的速率转换多个 ADC 通道的最有效方法,并且仍然将结果传输到内存而无需 CPU 干预,这是一种非常酷且省时的技术. 本次实例将实现ADC以DMA方式采样,并转换成PWM输出,从 ...

  7. STM32——多通道ADC的DMA方式采集方法

    前言: 最近在调试STM32F205芯片ADC多通道DMA方式采集数据,总结下STM32多通道ADC的DMA方式采集的使用方法. 硬件平台:STM32F205 软件平台:keil v5 函数库:标准库 ...

  8. 嵌入式作业STM32采用串口DMA方式发送数据

    目录 前言 要求 一.DMA的基本介绍 DMA的基本定义 DMA的主要特征 STM32F411x系列芯片DMA控制器 二.通过CubeMX配置项目 1.创建项目 2.选择芯片STM32F103C8T6 ...

  9. 基于uFUN开发板的心率计(一)DMA方式获取传感器数据

    前言 从3月8号收到板子,到今天算起来,uFUN到手也有两周的时间了,最近利用下班后的时间,做了个心率计,从单片机程序到上位机开发,到现在为止完成的差不多了,实现很简单,uFUN开发板外加一个Puls ...

最新文章

  1. AI性能基准测试从此有了「中国标准」!英伟达、谷歌可以试试
  2. HashMap HashTable和ConcurrentHashMap的区别
  3. php 获取请求,PHP 扩展 - 获取请求信息
  4. Caddy,一个用Go实现的Web Server | 比Apache速度快,比Nginx有个性
  5. python导入xlrd库_python中xlrd库如何实现文件读取?
  6. java多线程测试性能,总线程使用总时间。
  7. centos6.6安装中文支持
  8. 软件测试常问面试题--计算机网络相关
  9. 爬取淘宝商家货物简单销售数据(销量,价格,销售地,货物名称)
  10. 通用即插即用监视器驱动下载_驱动之家和驱动精灵哪个好
  11. java中文解码_java中文转码解码
  12. 基于RS485通讯总线的ModbusRtu协议 上位机项目源代码
  13. python 改变图片像素值
  14. 量子计算:一个即将破灭的泡沫?
  15. 环境保护设施运营组织服务认证 认证专业分类及运营设施范围
  16. bi工具市场排行榜-bi工具报价
  17. 通过Utgard读取Opc数据
  18. opencv + contrib windows下源码编译
  19. 【应用安全】 使用Java创建和验证JWT
  20. 多边形面积的最长平分线的依托答辩记录

热门文章

  1. wow mysql dbc_WoW的DBC文件内容描述-魔兽有爱论坛 - 一个魔兽世界爱好者的聚集地 uiwow.com - Powered by Discuz!...
  2. centos 程序 mysql数据库文件位置_Centos mysql数据库存放位置更换
  3. wifi rssi 计算 距离_用RSSI/TOF判断距离靠谱吗?浅谈RSSI/TOF测距优劣
  4. 和nptf螺纹一样吗_常用数控加工计算公式和最全螺纹标准
  5. matlab disp函数_从零开始的matlab学习笔记——(13)符号计算中的多项式
  6. python3 html生成pdf,Python3转换html到pdf的不同解决方案
  7. mysql -a_a|MySQL基础命令
  8. python unique函数_每30秒学会一个Python小技巧,GitHub星数4600+
  9. oracle 删除jobs日志,修改Oracle的Job Scheduler 日志级别及删除运行日志
  10. python requests text content_python 3 关于requests库的 text / content /json