|
我们在做ADC的时候,有时可能要用到多个通道,但并希望它们被同时启动,只是想依据不同的条件在不同的时刻对其中某一个ADC通达进行转换。基于这种应用场景,对有些STM32新手来说似乎还有点困难,这里使用STM32F4系列的一个开发板做个简单的应用演示,以供参考。 基本思路是这样的: 先使用STM32CubeMx做基本的配置,并生成初始化代码。在用CubeMx配置ADC时,只选择可能用到的多个通道的其中1个进行配置。这里我用到3个通道,分别是ADC1的CH8、CH12、CH17【CH17为Vrefint专用通道】。在用户代码中再做通道的改变。这里ADC选择软件启动。
这里我没有开启ADC相关中断,具体应用时可以按需配置。 当生成完初始化代码后,我在其基础上借助Cube库重新组织一个函数,用来针对任意ADC通道进行初始化。该函数用到两个参数,分别是通道号和对应于该通道的采样时间。
我在main()的主循环里,循环地针对CH8/CH9/CH17进行ADC转换。
这里我将CH8接GND,CH12接VDD,CH17内接Vrefint. 编译运行后可查看结果:
显然,整个过程还是非常简单的。不同的系列可能会略有差异,使用时结合具体的初始化代码灵活调整即可。 |
【银杏科技ARM+FPGA双核心应用】STM32H7系列35——USB_VCP_FS
【银杏科技ARM+FPGA双核心应用】STM32H7系列28——USB_HID
粉丝分享 | 图说CRC原理应用及STM32硬件CRC外设
【银杏科技ARM+FPGA双核心应用】STM32H7系列56——CAN
【银杏科技ARM+FPGA双核心应用】STM32H7系列25——IWDG
如何在 Vitis 中使用 UIO 驱动框架创建简单的 Linux 用户应用
STM32 IAP应用中的几个常见问题
TFT LCD 控制接口FSMC/LTDC/DSI 应用文档
介绍FreeRTOS基础及其应用
【银杏科技ARM+FPGA双核心应用】STM32H750福利
微信公众号
手机版