ADC1是ADC1的一个结构体的指针,里面的成员就是与ADC1相关的寄存器地址。CR2就是一个寄存器的地址,类似于*(volatile unsigned int *)的结构,将其bit0写1.具体你需要看STM32的数据手册。应该有个ADC1的寄存器Control register2.
在ADC_CR2寄存器中配置: 3、触发方式配置 如果ADC1使用软件触发,ADC2则使用外部通道触发;ADC1使用外部事件触发时,ADC2设置成软件触发,这样可以防止意外触发从转换。 二、代码配置 1、adc.c /*** * 程序功能:实现双ADC同步采集,每路ADC各有1个通道(单通道) * ***/ #include "adc.h" #include "delay.h"...
指针,0x000E0003是地址
ADC1->CR2 |= ADC1_CR2_ALIGN; //right aligment
ADC1->CR2|=7<<17; //软件控制转换 ADC1->CR2|=1<<20; //使用用外部触发(SWSTART)!!! 必须使用一个事件来触发 ④设置ADC1规则序列的相关信息 这里只有一个通道,并且单次转换,所以设置规则序列中通道数为1(ADC_SQR1[23:20]=0000)。设置通道0的采样周期。
ADC2_CR2 =0x00100000;ADC1_CR2 =0x00100100;/* |||+---ADON=0:关闭ADC转换/校准,=1:开启...
ADC1->CR2 |= 0x40000000; // Start ADC conversion while (!(ADC1->SR & 0x2)); // Wait for end of conversion adc_value = ADC1->DR; voltage = adc_value * (3.3 / 4095); // ADC value to voltage conversion printf("ADC value: %d | Voltage: %.2f V\n", adc_value, voltage);...
if ((ADC1->CR2 & ADC1_CR2_ALIGN) != 0) /* Right alignment */ { /* Read LSB first *...
void NVIC_Configuration();void initializ(void){ int CNT=200;while(CNT--);(RCC->CR) = (RCC-...
通道转换顺序通道转换顺序触发源1、软件触发:ADC_CR2:ADON/SWSTART/JSWSTART2、外部事件触发:内部定时器/外部IO选择:ADC_CR2:EXTSEL[2:0]和JEXTSEL[2:0]激活:ADC_CR2:EXTEN和JEXTEN转换时间ADC_CLK:ADC模拟电路时钟,最大值为14M,由PCLK2提供,还可分频,2/4/6/8,RCC_CFGR的ADCPRE[1:0]设置。PCLK2=72...