STM32 ADC 检测电路电流或电压

STM32 ADC 检测电路电流或电压_第1张图片
#include “sys.h”
#include “ADC.h”
#define ADC1_2_DR_ADDRESS ((u32)0x40012400+0x4c)
#define ADC3_DR_ADDRESS ((u32)0x40013c00+0x4c)
#define NUM 100
__IO u32 ADC1_ConvertedValue[NUM];//防止数据传输溢出造成的错误
__IO u16 ADC3_ConvertedValue[NUM];

return ADC_GetConversionValue(ADCx);	//返回最近一次ADCx规则组的转换结果

分辨

emmmm那个灯坏时电流0,车经过时,电流几乎也为0,这怎么分辨啊
解答
1.车经过,3.3
2,车离开,比如1.0
3,灯坏,0

规则同时模式

1.此模式可用于规则通道组。外部触发源来自 ADC1 的规则组多路复用器(通过 ADC1_CR2寄存器中的 EXTSEL[3:0] 位进行选择)。
2.同时触发可用于 ADC2 和 ADC3。
3.注意: 不要在两个/三个 ADC 上转换同一通道(转换同一通道时,不允许两个/三个 ADC 采样时间重叠)。
4.在规则同时模式下,必须使用同一长度来转换序列,或必须确保触发之间的间隔长于 2 个序列(双重 ADC 模式) /3 个序列(三重 ADC 模式)中的较长转换时间。否则,当序列较长的ADC 完成上一次转换时,序列较短的 ADC 可能重新开始转换。
5.必须禁止注入转换。

双重 ADC 模式

在 ADC1 或 ADC2 转换事件结束时:
● 会生成一个 32 位 DMA 传输请求(如果 ADC_CCR 寄存器中的 DMA[1:0] 位等于
0b10)。此请求会将存储在 ADC_CDR 32 位寄存器高位半字中的 ADC2 转换数据传输
到 SRAM,然后将存储在 ADC_CCR 低位半字中的 ADC1 转换数据传输到 SRAM。
● 当 ADC1/ADC2 的规则通道全部完成转换后,会生成一个 EOC 中断(如果已在两个 ADC接口中的一个接口上使能)。

STM32 ADC 检测电路电流或电压_第2张图片

常用

STM32 ADC 检测电路电流或电压_第3张图片

PPT

STM32 ADC 检测电路电流或电压_第4张图片
STM32 ADC 检测电路电流或电压_第5张图片

STM32 ADC 检测电路电流或电压_第6张图片
STM32 ADC 检测电路电流或电压_第7张图片
STM32 ADC 检测电路电流或电压_第8张图片
STM32 ADC 检测电路电流或电压_第9张图片

STM32 ADC 检测电路电流或电压_第10张图片
STM32 ADC 检测电路电流或电压_第11张图片

STM32 ADC 检测电路电流或电压_第12张图片

STM32 ADC 检测电路电流或电压_第13张图片

STM32 ADC 检测电路电流或电压_第14张图片

STM32 ADC 检测电路电流或电压_第15张图片
STM32 ADC 检测电路电流或电压_第16张图片

你可能感兴趣的:(stm32)