如何在stm32中使用外部adc输出读取16位并行数据

问题描述 投票:0回答:1

我在使用 stm32f4 中的外部 adc 输出连续读取 16 位并行数据时遇到麻烦

我正在使用 GPIOA->IDR 16位数据如何存储在IDR中 以及如何连续访问每个样本的输入数据寄存器

谢谢你

stm32
1个回答
0
投票

16位数据如何存储在IDR中

GPIOx_IDR 不是锁存器,因此数据不会存储在其中。每次您通过处理器或 DMA 读取 GPIOx_IDR 时,它都会返回给定端口引脚的当前状态。

ADC(什么型号?)很可能有一个用于开始转换的引脚,以及另一个指示转换已完成的引脚。

软件的第一个版本应切换开始转换引脚,然后循环等待,直到转换就绪引脚激活,然后读取 GPIOx_IDR 以确定转换结果。

稍后,您可以通过使用定时器定期触发转换来“自动化”此过程,并通过 DMA 读取结果,通过不同的定时器通道(作为输入捕获)从转换就绪触发;为此,请阅读 RM0090 中的 TIM 和 DMA 章节。

© www.soinside.com 2019 - 2024. All rights reserved.