CR2就是一个寄存器的地址,类似于*(volatile unsigned int *)的结构,将其bit0写1.具体你需要看STM32的数据手册。应该有个ADC1的寄存器Control register2.将ADC1的成员CR2的第一位值赋1 ADC1->CR2=(ADC1->CR2)|(1左移0位,其实就是不移动为了强调这个1的位置)
无论是否使用DMA传输规则通道数据。 在ADC_CR2寄存器中配置: 3、触发方式配置 如果ADC1使用软件触发,ADC2则使用外部通道触发;ADC1使用外部事件触发时,ADC2设置成软件触发,这样可以防止意外触发从转换。 二、代码配置 1、adc.c AI检测代码解析 /*** * 程序功能:实现双ADC同步采集,每路ADC各有1个通道(单通道) *...
复位值:0x00 11.5 ADC 配置寄存器 2 (ADC_CR2) configure register 2 地址偏移值:0x02 复位值:0x00 11.5 ADC 配置寄存器 2 (ADC_CR2) 暂时未写 11.6 ADC配置寄存器 3 (ADC_CR3) 暂时未写 11.7 ADC 数据高位寄存器(ADC_DRH) 暂时未写 11.8 ADC 数据低位寄存器(ADC_DRL) 暂时未写 11.9 ADC 施密特触发...
ADC1->CR2|=1<<3; //使能复位校准 while(ADC1->CR2&1<<3); //等待校准结束 复位校准 //该位由软件设置并由硬件清除。在校准寄存器被初始化后该位将被清除。 ADC1->CR2|=1<<2; //开启AD校准 while(ADC1->CR2&1<<2); //等待校准结束 A/D校准 ⑥读取ADC值。 设置规则序列1里面的通道(ADC_S...
if ((ADC1->CR2 & ADC1_CR2_ALIGN) != 0) /* Right alignment */ { /* Read LSB first *...
数据手册上特别之处的一个东西:模拟看门狗说使用的比较数据与ADC_CR2寄存器中设置的数据对齐方式无关。看门狗比较是在数据对齐之前完成的。先进行看门狗比较,再将数据放入ADC_DR数据寄存器。 在ST的库中,只有简单的三个与看门狗相关的函数: void ADC_AnalogWatchdogCmd(ADC_TypeDef* ADCx, uint32_t ADC_AnalogWatch...
ADC1->CR2|=ADC_CR2_ADON;// Enable the ADC while(!(ADC1->SR&ADC_SR_ADONS));// Wait until ADC is on // Configure TIM9 (trigger for ADC) RCC->APB2ENR|=RCC_APB2Periph_TIM9;// Enable the TIMx peripheral TIM9->ARR=SystemCoreClock/8000;// Sample rate 8kHz ...
In applications, this consumption occurs only while the ADC is on (ADON bit is set in the ADC_CR2 register). 3. External clock is 8 MHz and PLL is on when fHCLK > 8 MHz. On-chip peripheral current consumption The current consumption of the on-chip peripherals is given in Table 20....
ADC_JDRx是32位的,低16位有效,高16位保留,数据同样分为左对齐和右对齐,具体是以哪一种方式存放,由ADC_CR2的11位ALIGN设置。 通用规则数据寄存器ADC_CDR 规则数据寄存器ADC_DR是仅适用于独立模式的,而通用规则数据寄存器ADC_CDR是适用于双重。独立模式就是仅仅适用三个ADC的其中一个,双重模式就是同时使用ADC1和...
1、软件触发:ADC_CR2:ADON/SWST ART/JSWSTART 2、外部事件触发:内部定时器/外部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=72M。 转换时间:T...