配置时ADC频率36Mhz,采样时间是1.5*1/36M=0.041微妙,触发器频率为240/2=120M,计数器触发时间是...
hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2;hadc.Init.Resolution = ADC_RESOLUTION_12B;hadc...
测试中断1:ADC_CLOCK_ASYNC_DIV256 数据:32768、32224、33024 测试中断2:ADC_CLOCK_ASYNC_DIV2 数据:32448、33024、32576 从上面的数据可以知道,当我设置为轮询方式时,调整adc分频,接收到的总数居数据有明显变化,而在我改为中断时却感觉没有什么变化,这是为什么呢? 我的中断回调函数就只是设计一个获取它的值...
hAdc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV2; // ADC Clock Mux hAdc.Init.Resolution = ADC...
hadc1.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV32; //设置预分频为32,ADC时钟=80MHz/32=2.5MHz hadc1.Init.Resolution = ADC_RESOLUTION_12B; //设置分辨率为12位 hadc1.Init.ScanConvMode = ADC_SCAN_ENABLE; //允许扫描模式 hadc1.Init.ContinuousConvMode = ENABLE; //允许连续转换 ...
ClockPrescaler:ADC时钟分频系数选择,系数决定ADC时钟频率,可选的分频系数为1、2、4和6等。ADC最大时钟配置为36MHz。 Resolution:配置ADC的分辨率,可选的分辨率有16位、12位、10位和8位。分辨率越高,AD转换数据精度越高,转换时间也越长;分辨率越低,AD转换数据精度越低,转换时间也越短。 ScanConvMode:可选参数为...
hadc.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc.Init.Resolution = ADC_RESOLUTION_12B; hadc.Init.ScanConvMode = DISABLE; hadc.Init.ContinuousConvMode = DISABLE; hadc.Init.DiscontinuousConvMode = DISABLE; hadc.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; ...
PLL2支持下面几种分频设置: #defineADC_CLOCK_ASYNC_DIV1 ((uint32_t)0x00000000)#defineADC_CLOCK_ASYNC_DIV2 ((uint32_t)ADC_CCR_PRESC_0)#defineADC_CLOCK_ASYNC_DIV4 ((uint32_t)ADC_CCR_PRESC_1)#defineADC_CLOCK_ASYNC_DIV6 ((uint32_t)(ADC_CCR_PRESC_1|ADC_CCR_PRESC_0))#defineADC...
/* USER CODE END ADC3_Init 1/ /* Common config / hadc3.Instance = ADC3; hadc3.Init.ClockPrescaler = ADC_CLOCK_ASYNC_DIV1; hadc3.Init.DataAlign = ADC3_DATAALIGN_RIGHT; hadc3.Init.ScanConvMode = ADC_SCAN_ENABLE; hadc3.Init.EOCSelection = ADC_EOC_SEQ_CONV; ...
如果采用AHB时钟,不需要做专门的配置,而采用PLL2,PLL3时钟需要特别的配置,下面是使用AHB或者PLL2时钟的配置。 通过宏定义设置选择的时钟源 使用哪个时钟源,将另一个注释掉即可: /* 选择ADC的时钟源 */ #define ADC_CLOCK_SOURCE_AHB /* 选择AHB时钟源 */ ...