M_ADC_Init(ADC1, ADC_CH0_Pin, ADC_ExternalTrigConv_None, 1, Rank_1); 3、ADC初始化---ADC_CH0_Pin的选择 4、ADC初始化---ADC_ExternalTrigConv_None的***选择 使用软件触发,一般不需要更改这个配置。 5、ADC初始化---1的选择通道数: **6、**ADC初始化---Rank_1的采样顺序: 7、ADC采样: M...
GPIO_Init(GPIOC, &GPIO_InitStructure); /* ADC初始化*/ //CR1寄存器设置 tmpreg1 = ADC1->CR1; tmpreg1 &= 0xfff0feff; //adc的DUALMOD和SCAN位清零 tmpreg1 |= ((uint32_t)0x00000000); //位19:16 0000:独立模式 tmpreg1 |= ((uint32_t)0x00000000); //扫描模式设置 ADC1->CR1 = tmpre...
#include"adc.h"#include"delay.h"//初始化ADC//这里我们仅以规则通道为例//我们默认将开启通道0~3voidAdc_Init(void) { ADC_InitTypeDef ADC_InitStructure; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA| RCC_APB2Periph_ADC1, ENABLE );//使能ADC1通道时钟RCC_ADC...
由于ADC在STM32中是挂载在APB2总线上的,所以ADC的时钟是由PCLK2(72MHz)经过分频得到的,分频因子由 RCC 时钟配置寄存器RCC_CFGR 的位 15:14 ADCPRE[1:0]设置,可以是 2/4/6/8 分频,一般配置分频因子为8,即8分频得到ADC的输入时钟频率为9MHz。 采样周期是确立在输入时钟上的,配置采样周期可以确定使用多少个...
void Gpio_Init(void); int main(void) { u16 ADValue; float temp; Rcc_Init(9); //系统时钟设置 Usart1_Init(72,9600); //设置串口时钟和波特率 Adc1_Init(8,7); //使用8通道采样,采样时间系数为7(111),据手册可得采样时间为 (239.5+12.5)/12= 21 (us) ...
void ADC1_Init(void) { // Step 1: Enable ADC1 clock RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE); // Step 2: Configure ADC1 GPIO GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; ...
// MX_DMA_Init(); MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ printf("hello\r\n"); HAL_ADCEx_Calibration_Start(&hadc1); HAL_ADC_Start_DMA(&hadc1, (uint32_t*)AD_DMA, 3); /* USER CODE END 2 */ /* Infinite loop */ ...
ADC_NbrOfConversion = 1; ADC_Init(DEBUG_ADC, &ADC_InitStructure); /** 配置 ADC 通道转换顺序为1,采样时间为3个时钟周期*/ ADC_RegularChannelConfig(DEBUG_ADC, DEBUG_ADC_CHANNEL, 1, ADC_SampleTime_3Cycles); /** 初始化ADC的DMA*/ ADC_DMAConfig(); /** 使能DMA请求*/ ADC_DMARequestAfter...
2ADC输入通道 从ADCx_INT0-ADCx_INT15对应三个ADC的16个外部通道,进行模拟信号转换此外,还有两个内部通道:温度检测或者内部电压检测选择对应通道之后,便会选择对应GPIO引脚,相关的引脚定义和描述可在开发板的数据手册里找 3注入通道,规则通道 我们看到,在选择了ADC的相关通道引脚之后,在模拟至数字转换器中有两个通...
以及采样周期,设置完之后启动AD转换就行了、然后才直接读取哈、、相关的库函数请看代码、void Adc_Init(void){ ADC_InitTypeDef ADC_InitStructure;GPIO_InitTypeDef GPIO_InitStructure;/* Enable ADC1 and GPIOA clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 | RCC_APB2Periph_GPIOA, ENABLE);RCC...