STM32G474 CubeMX + CLion双重ADC交替采样实现2M+2M = 4M

STM32G474 CubeMX + CLion双重ADC交替采样实现2M+2M = 4M采样率

前言

并非所有通道都有三重ADC的采样,笔者之前配过G474RET6,找了半天最多只有双重,没有三重。

换了H750发现也只有引脚支持三重ADC ,而F407有不知道多少引脚能够三重。怪不得那么多人买F407。

1.cube配置

都用上交替采样了,时钟就配成120M,方便后面的ADC2分频

QQ_1721653328044

然后引脚这边加上ADC1和ADC2

QQ_1721653389452

也可以不选A0做双重,选其他引脚也可以。

记得选完在左边的ADC中使能这个通道。

1.1配置下ADC

QQ_1721653633579

QQ_1721653710151

注意到这里用的定时器8,因为手头这块板子似乎TIM3有问题,没法用来做触发ADC

ADC2不用配,已经帮你同步成跟ADC1一样了

QQ_1721653858037

1.2接下来配置DMA

QQ_1721653775579

注意选全字,交替模式DMA的数据存在一个32位数组中,其中低16位是ADC1,高16位是ADC2。就随便试验下,DMA配成NOMAL。channel随便选一个。

QQ_1721654035723

ADC2的DMA不用配,一个DMA搬运完ADC1的就去搬运ADC2的,如果配置了那么对不起,高16位就没数据了。

1.3定时器(重要)

QQ_1721654157741

这边配置上2M频率,然后我们讲下之前为什么要配成12cycle。

首先明确下,cycle就是ADC时钟经过分频后的数值,也就是说,我们120M经过二分频,60M就是者的cycle。

同时,ADC双重采样,是ADC1先采样,经历了采样时间与等待时间后,再经历这个Delay between 2 sampling phases,然后轮到ADC2采样,ADC2经历采样时间与等待时间,然后就是等待下一次TIM8的上升沿到来。

QQ_1721699354417

所以我们知道了,这里的 Delay between 2 sampling phases 最好正好是定时器频率的两倍,也就是说

### STM32CubeMXCLion集成教程 #### 工具准备 为了实现STM32CubeMXCLion的无缝集成,需确保已安装以下工具并正确配置其路径: - **STM32CubeMX**: 用于生成初始化代码和硬件外设配置。 - **GNU Arm Embedded Toolchain (GCC)**: 推荐使用2017版[^2],因其稳定性较高,能够有效减少编译错误的发生概率。 - **OpenOCD**: 调试器驱动程序,支持通过JTAG/SWD接口调试目标设备。 #### 配置流程 以下是详细的配置过程: 1. **创建STM32CubeMX工程** 打开STM32CubeMX软件,新建一个基于目标芯片型号的项目。完成必要的硬件资源分配(如GPIO、UART等),点击“Generate Code”,选择“Makefile Project”作为构建系统,并指定输出目录保存生成的源码文件[^1]。 2. **导入到CLion** 启动CLion IDE后,利用菜单栏中的`File -> Open...`选项加载由STM32CubeMX导出的Makefile所在根目录。此时IDE会自动解析依赖关系以及设置好相应的编译参数。 3. **调整CMakeLists.txt** 如果希望采用更灵活的方式管理大型复杂工程项目,则可以考虑手动编辑CMake脚本替代默认Makefile方案。下面给出一段基础模板供参考: ```cmake cmake_minimum_required(VERSION 3.16) project(MyStm32Project LANGUAGES C ASM) set(CMAKE_C_COMPILER arm-none-eabi-gcc) set(CMAKE_ASM_COMPILER ${CMAKE_C_COMPILER}) add_executable(${PROJECT_NAME}.elf SOURCES/main.c SOURCES/stm32f4xx_it.c ... ) target_include_directories(${PROJECT_NAME} PRIVATE INC/ CORE/) ``` 注意替换其中的具体路径名以匹配个人实际情况。 4. **验证环境有效性** 当一切准备工作完成后,在CLion内部尝试重新构建整个解决方案(`Build->Rebuild Project`)。如果顺利的话应该可以看到最终产物——即`.bin/.hex`格式固件文件被正常生产出来。 5. **常见问题排查指南** - 若发现链接阶段报错提示找不到某些库函数定义,请确认是否遗漏了对标准CMSIS头文件夹添加全局包含指令; - 对于浮点运算单元(FPU)相关特性启用与否的选择可能影响部分数学计算类API的表现形式,务必仔细核验启动项设定值; - 关于断点无法命中或者单步执行异常缓慢的现象多半源于GDB服务器端口绑定冲突或是传输速率过低引起的数据丢包现象。 ---
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值