
客户在使用 STM32F334 芯片的时候,需要将 DAC 的通道内部链接在 COMP 上。而此时,对应的 PA5 和 PA6 想当作ADC2_IN2 和 ADC2_IN3,但是又担心这样的设置会不会产生影响,想让我们确认一下。 问题分析 查找资料 在 STM32F334 的数据手册上我们可以看到 GPIO 当作模拟功能时的框图。如下图所示。* _% i0 T6 l; W5 f 6 Z m! S" |! R0 S ![]() 2 N* L' d8 M$ W 在上图中我们可以看到,当一个管脚当作 GPIO 的时候,实际上输出和输入是直接连接在一起的,这个给我的第一个想法就是这样在 DAC 输出的时候,肯定会影响 ADC 的数据采集。这样,是不是就意味着这样使用是不行的呢?我们接着又看 DAC 关于通道开关的描述: ![]() ! B+ C- W2 W5 T5 @ 从这段的描述中我们可以知道,PA5 和 PA6(DAC2_OUT2)其实是分别带有一个开关的(参见下图的红色框)。这个开关起到的作用就是在 DAC2 的输出 2 与 GPIO(PA6)之间做一个控制连接的作用。此时,如果是将 DAC 的通道与 GPIO 断开,就算 GPIO 当作了 ADC 的功能,它也不会对 ADC 采集的电压有影响了。 }9 R& B2 A) f, u6 c ( l+ s+ z; m% Y, f& A ![]() 2 u' R- b/ ?5 O |6 [3 y- r 总结:% P$ D( r* M0 G$ B1 ?- K# y STM32F334 的 PA5 和 PA6 在 DAC 通道与 GPIO 断开的情况下是可以当作 ADC 的管脚的。, g3 S5 E# R: R* {. X, o7 { ' k. \* `; [4 t. N |