本网站可以出售:只需60000元直接拥有。QQ:939804642
您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ ADC_DMACmd函数代码示例

51自学网 2021-06-01 19:33:16
  C++
这篇教程C++ ADC_DMACmd函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中ADC_DMACmd函数的典型用法代码示例。如果您正苦于以下问题:C++ ADC_DMACmd函数的具体用法?C++ ADC_DMACmd怎么用?C++ ADC_DMACmd使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了ADC_DMACmd函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: AdcStartPre34

static void AdcStartPre34(){	DMA_InitTypeDef DMA_InitStructure;	DMA_DeInit(DMA2_Channel5);	DMA_DeInit(DMA2_Channel2);    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC3->DR;    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&g_resultBuffer[0];    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;    DMA_InitStructure.DMA_BufferSize = g_ResultBufferSize;    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;    DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;    DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;    DMA_InitStructure.DMA_Priority = DMA_Priority_High;    DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;    DMA_Init(DMA2_Channel5, &DMA_InitStructure);    DMA_Cmd(DMA2_Channel5, ENABLE);    DMA_ITConfig(DMA2_Channel5, DMA_IT_TC, ENABLE);	DMA_SetCurrDataCounter(DMA2_Channel5, 0);    DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)&ADC4->DR;    DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)&g_resultBuffer[g_ResultBufferSize/2];    DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;    DMA_InitStructure.DMA_BufferSize = g_ResultBufferSize;    DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;    DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;    DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;    DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;    DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;    DMA_InitStructure.DMA_Priority = DMA_Priority_High;    DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;    DMA_Init(DMA2_Channel2, &DMA_InitStructure);    DMA_Cmd(DMA2_Channel2, ENABLE);    DMA_ITConfig(DMA2_Channel2, DMA_IT_TC, ENABLE);	DMA_SetCurrDataCounter(DMA2_Channel2, 0);	uint8_t sample_ticks = DacSampleTicks()<72?ADC_SampleTime_7Cycles5:ADC_SampleTime_19Cycles5;	//uint8_t sample_ticks = ADC_SampleTime_601Cycles5;	ADC_RegularChannelConfig(ADC3, ADC_Channel_1/*PB1*/, 1, sample_ticks);	ADC_RegularChannelConfig(ADC4, ADC_Channel_1/*PE14*/, 1, sample_ticks);	ADC_Cmd(ADC3, ENABLE);	ADC_Cmd(ADC4, ENABLE);	ADC_DMACmd(ADC3, ENABLE);	ADC_DMACmd(ADC4, ENABLE);	g_adcStatus = 1;	g_adc_cycles = 0;}
开发者ID:balmerdx,项目名称:rlc-meter-balmer,代码行数:52,


示例2: gather_adc_values

void gather_adc_values(void){    static uint8_t last_step = 0;    // TIM1 CC4 occuer    adc_buffer_for_mosfet_test[126] = DMA1_Channel1->CNDTR;    TP3_SET;    ADC_StopOfConversion(ADC1);    ADC_DMACmd(ADC1, DISABLE);    // reset the DMA    DMA_Cmd(DMA1_Channel1, DISABLE);    //DMA_DeInit(DMA1_Channel1);        DMA_ClearFlag(DMA1_FLAG_GL1);//     DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)ADC1_DR_Address;//     DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)adc_buffer_for_mosfet_test;//     DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//     DMA_InitStructure.DMA_BufferSize = 25;//     DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//     DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;//     DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//     DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;//     DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;//     DMA_InitStructure.DMA_Priority = DMA_Priority_High;//     DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;    //DMA_Init(DMA1_Channel1, &DMA_InitStructure);    DMA1_Channel1->CNDTR = 50;        adc_buffer_for_mosfet_test[127] = ADC1->DR;    DMA_Cmd(DMA1_Channel1, ENABLE);    ADC_DMACmd(ADC1, ENABLE);        ADC_StartOfConversion(ADC1);    adc_buffer_for_mosfet_test[127] = DMA1_Channel1->CNDTR;        if(last_step == mosfet_test_step){        if(mosfet_test_step == 1){            adc_buffer_for_mosfet_test[50] = adc_buffer_for_mosfet_test[0];            adc_buffer_for_mosfet_test[51] = adc_buffer_for_mosfet_test[1];            adc_buffer_for_mosfet_test[52] = adc_buffer_for_mosfet_test[2];        }else{            adc_buffer_for_mosfet_test[100] = adc_buffer_for_mosfet_test[0];            adc_buffer_for_mosfet_test[101] = adc_buffer_for_mosfet_test[1];            adc_buffer_for_mosfet_test[102] = adc_buffer_for_mosfet_test[2];        }    }    last_step = mosfet_test_step;    TP3_RESET;}
开发者ID:Paolo-Maffei,项目名称:lxyppc-tetrix,代码行数:49,


示例3: set_task_adc

void set_task_adc(struct signal* psig, struct head_data_adc* phadc) {	if(pb_adc == NULL || !check_buffer_is_free(pb_adc)) 		pb_adc = alloc_buf(SIZE_BIG_BUFFER);	init_header_buffer_adc(pb_adc, sizeof(struct head_data_adc) + SIZE_BIG_BUFFER * sizeof(uint16_t), phadc);	DMA_SetCurrDataCounter(DMA2_Stream0, NUMBER_SAMPL_ADC);	DMA2_Stream0->M0AR = (uint32_t)((char*) pb_adc->pbuf + sizeof(struct head) + sizeof(struct head_data_adc));	TIM3->ARR = psig->arr_adc;	TIM_PrescalerConfig(TIM3, psig->psc_adc, TIM_PSCReloadMode_Update);	/*Refill register TIM1CCR1*/	TIM3->EGR |= 0x0001;	DMA_Cmd(DMA2_Stream0, ENABLE);	ADC_Cmd(ADC1, ENABLE);	  ADC_DMACmd(ADC1, DISABLE);	ADC_DMACmd(ADC1, ENABLE);}
开发者ID:korrav,项目名称:emmiter_slave,代码行数:15,


示例4: config_driver_adc_1

static void config_driver_adc_1(void){    ADC_InitTypeDef ADC_InitStructure;    ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;    ADC_InitStructure.ADC_ScanConvMode = DISABLE;    ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;    ADC_InitStructure.ADC_NbrOfConversion = 1;    ADC_Init(ADC1, &ADC_InitStructure);    ADC_CommonInitTypeDef ADC_CommonInitStructure;    ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;    ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div8;    ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;    ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_20Cycles;    ADC_CommonInit(&ADC_CommonInitStructure);    ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_480Cycles);    ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE);    ADC_DMACmd(ADC1, ENABLE);    ADC_Cmd(ADC1, ENABLE);    ADC_SoftwareStartConv(ADC1);}
开发者ID:glocklueng,项目名称:ESP8266-STM32F4Discovery,代码行数:28,


示例5: main

int main(void){  //Initial Set-up of: SPI, USB, TIM2, and ADC  SysInit();  LMP_SPI_Init();                         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);  InitTIM2();  startUSBOTG();  ADC3_CH2_DMA_Config();  TIM_ITConfig(TIM4, TIM_IT_Update, ENABLE);  TIM_ITConfig(TIM4, TIM_IT_CC1, ENABLE);    ADC_DMACmd(ADC3, ENABLE);  //Main Loop: Transmit ADC result to PC  while (1)  {    //Convert array elements in 1000 element array to 8 bit words and store in     //2000 element array    for (int i=0; i<2000; i++)      {        if (i%2 == 0) adc3ch2_16bit[i] = (adc3ch2[i/2] >> 8);        else adc3ch2_16bit[i] = (adc3ch2[i/2]);      }   //Output 2000 element array of ADC results over USB VCP Data line      for (int i=0; i < 2000; i++) VCP_DataTx (&adc3ch2_16bit[i],0);  }
开发者ID:philipleaning,项目名称:Gesture-Recognition,代码行数:26,


示例6: IRsensor1_Init

void IRsensor1_Init(IRsensor * IRsensor){      if(IRsensor!=NULL){ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 , ENABLE);         IRsensor->state1=1;         Init_ADC_Common();           Init_DMA();                RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);                GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 ;        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;        GPIO_Init(GPIOC, &GPIO_InitStructure);        ADC_Init(ADC1, &ADC_InitStructure);        ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 1, ADC_SampleTime_3Cycles);               ADC_DMACmd(ADC1, ENABLE);        ADC_Cmd(ADC1, ENABLE);        ADC_SoftwareStartConv(ADC1);  }  }
开发者ID:semikos,项目名称:LineFollowerStm32F4,代码行数:27,


示例7: USART1_IRQHandler

/******************************************************************************** Function Name  : USART1_IRQHandler* Description    : This function handles USART1 global interrupt request.* Input          : None* Output         : None* Return         : None*******************************************************************************/void USART1_IRQHandler(void){		USART_ClearITPendingBit(USART1, USART_IT_RXNE);	   if(USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)   {	   	Rx_Buffer[data]=USART_ReceiveData(USART1);					Usart_Putnum(Rx_Buffer[data]);		if(Rx_Buffer[data]==1){			/* Enable ADC1 DMA */		    ADC_DMACmd(ADC1, ENABLE);		    /* Enable ADC1 */		    ADC_Cmd(ADC1, ENABLE);		    /* Enable ADC1 reset calibaration register */   		    ADC_ResetCalibration(ADC1);		    /* Check the end of ADC1 reset calibration register */		    while(ADC_GetResetCalibrationStatus(ADC1));		    /* Start ADC1 calibaration */		    ADC_StartCalibration(ADC1);		    /* Check the end of ADC1 calibration */		    while(ADC_GetCalibrationStatus(ADC1));		 		    /* Start ADC1 Software Conversion */ 		    ADC_SoftwareStartConvCmd(ADC1, ENABLE);		}		else if(Rx_Buffer[data]==2)			 ADC_Cmd(ADC1, DISABLE);		else if(Rx_Buffer[data]==3)		Usart_Putnum(TIM_GetCounter(TIM4));			   }   	//{			//Rx_Buffer[data]=data;		//data++;		//USART_ClearITPendingBit(USART1, USART_IT_RXNE);		/*Rx_Buffer[data]=USART_ReceiveData(USART1);				Usart_Putnum(Rx_Buffer[data]);		data++;*/		/*		if(Rx_Buffer[data]==1)		Usart_Putnum(10);		else if(Rx_Buffer[data]==2)		Usart_Putnum(20);		*/	    		}
开发者ID:JinhoAndyPark,项目名称:ARM,代码行数:67,


示例8: sensor_init

void sensor_init(void){    // 0. Run clocks    RCC_AHBPeriphClockCmd(SENSORS_DMA_RCC, ENABLE);    RCC_APB2PeriphClockCmd(SENSORS_ADC_RCC, ENABLE);    // 1. Init ADC    ADC_Init(SENSORS_ADC, &_adc);    // 2. Init DMA for writing measures directly to array    DMA_Init(SENSORS_DMA, &_dma); // SENSORS_ADC is on DMA1 channel 1    // 3. Setup SENSORS_ADC to send DMA requests    ADC_DMACmd(SENSORS_ADC, ENABLE);    // 4. Enable DMA    DMA_Cmd(SENSORS_DMA, ENABLE);    // 5. Enable ADC    ADC_Cmd(SENSORS_ADC, ENABLE);    // 6. Calibrate ADC    ADC_ResetCalibration(SENSORS_ADC);    while(ADC_GetResetCalibrationStatus(SENSORS_ADC));;;    ADC_StartCalibration(SENSORS_ADC);    while(ADC_GetCalibrationStatus(SENSORS_ADC));;;}
开发者ID:webconn,项目名称:CereMotor,代码行数:28,


示例9: __ADC_Init

static void __ADC_Init(void){	ADC_InitTypeDef ADC_InitStructure;		RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);	ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;  ADC_InitStructure.ADC_ScanConvMode = ENABLE;  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	  ADC_InitStructure.ADC_NbrOfChannel = (USE_ADC_PB0 + USE_ADC_PB1 + USE_ADC_PA4 + USE_ADC_PC0); //Change	ADC_Init(ADC1, &ADC_InitStructure);	#if (USE_ADC_PB0 == 1)	ADC_RegularChannelConfig(ADC1, ADC_Channel_8, 1, ADC_SampleTime_55Cycles5);	#endif	#if (USE_ADC_PB1 == 1)	ADC_RegularChannelConfig(ADC1, ADC_Channel_9, 2, ADC_SampleTime_55Cycles5);	#endif	#if (USE_ADC_PA4 == 1)	ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 3, ADC_SampleTime_55Cycles5);	#endif	#if (USE_ADC_PC0 == 1)	ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 4, ADC_SampleTime_55Cycles5);	#endif	ADC_DMACmd(ADC1, ENABLE);	ADC_Cmd(ADC1, ENABLE);	ADC_ResetCalibration(ADC1);	while(ADC_GetResetCalibrationStatus(ADC1));	ADC_StartCalibration(ADC1);	while(ADC_GetCalibrationStatus(ADC1));	ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:NguyenTrongThinh,项目名称:HapticDevice,代码行数:32,


示例10: Adc1_Multi_Init

//初始化ADC1//这里采用多通道连续采样,并用DMA1的通道传送//我们默认将开启通道4~7//相应管脚PA4~7void Adc1_Multi_Init(void){ 		ADC_InitTypeDef ADC_InitStructure; 	GPIO_InitTypeDef GPIO_InitStructure;	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1	, ENABLE );	  //使能ADC1通道时钟 	RCC_ADCCLKConfig(RCC_PCLK2_Div6);   //设置ADC分频因子6 72M/6=12,ADC最大时间不能超过14M	//PA1 作为模拟通道输入引脚	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;		//模拟输入引脚	GPIO_Init(GPIOA, &GPIO_InitStructure);		ADC_DeInit(ADC1);  //复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值	ADC_InitStructure.ADC_Mode = ADC_Mode_RegSimult;	//ADC工作模式:ADC1同步规则组模式	ADC_InitStructure.ADC_ScanConvMode =ENABLE; //模数转换工作在扫描模式	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE; //模数转换工作在连续转换模式	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	//转换由软件而不是外部触发启动	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	//ADC数据右对齐	ADC_InitStructure.ADC_NbrOfChannel = 4;	//顺序进行规则转换的ADC通道的数目	ADC_Init(ADC1, &ADC_InitStructure);	//根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器   	ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_239Cycles5 );	ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 2, ADC_SampleTime_239Cycles5 );	ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 3, ADC_SampleTime_239Cycles5 );	ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 4, ADC_SampleTime_239Cycles5 );	// 开启ADC的DMA支持(要实现DMA功能,还需独立配置DMA通道等参数)	ADC_DMACmd(ADC1, ENABLE);}	
开发者ID:devinzhang91,项目名称:Health-Box,代码行数:37,


示例11: Accel_ADC_Configuration

/** * @brief Initializes the ADC used by the Accelerometer. * @retval None */void Accel_ADC_Configuration() {  ADC_InitTypeDef ADC_InitStructure;  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;  ADC_InitStructure.ADC_ScanConvMode = ENABLE;  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;  ADC_InitStructure.ADC_NbrOfChannel = 3;  ADC_Init(ADC1, &ADC_InitStructure);  /* ADC1 regular channel 10, 11, 12 configuration */   ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_55Cycles5);  ADC_RegularChannelConfig(ADC1, ADC_Channel_11, 2, ADC_SampleTime_55Cycles5);  ADC_RegularChannelConfig(ADC1, ADC_Channel_12, 3, ADC_SampleTime_55Cycles5);  /* Enable ADC1 DMA */  ADC_DMACmd(ADC1, ENABLE);    /* Enable ADC1 */  ADC_Cmd(ADC1, ENABLE);  /* Enable ADC1 reset calibaration register */     ADC_ResetCalibration(ADC1);  /* Check the end of ADC1 reset calibration register */  while(ADC_GetResetCalibrationStatus(ADC1));  /* Start ADC1 calibaration */  ADC_StartCalibration(ADC1);  /* Check the end of ADC1 calibration */  while(ADC_GetCalibrationStatus(ADC1));       /* Start ADC1 Software Conversion */   ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:zwasson,项目名称:project-blox,代码行数:39,


示例12: main

/**  * @brief  Main program.  * @param  None  * @retval None  */void main(void){  /* CLK configuration -------------------------------------------*/  CLK_Config();   /* ADC configuration -------------------------------------------*/  ADC_Config();   /* DMA configuration -------------------------------------------*/  DMA_Config();   /* TIM1 configuration -------------------------------------------*/  TIM1_Config();   /* Enable ADC1 DMA requests*/  ADC_DMACmd(ADC1, ENABLE);  /* Enable TIM1 DMA requests*/  TIM1_DMACmd(TIM1_DMASource_Update, ENABLE);  /* Start ADC1 Conversion using Software trigger*/  ADC_SoftwareStartConv(ADC1);  while (1)  {}}
开发者ID:avr-master,项目名称:Healty_Beck,代码行数:31,


示例13: ADC1_Config

void ADC1_Config(void){	ADC_InitTypeDef ADC_InitStructure;		ADC_DeInit(ADC1);  //将外设 ADC1 的全部寄存器重设为缺省值		/* ADC1 configuration ------------------------------------------------------*/	ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;	//ADC1独立工作模式	ADC_InitStructure.ADC_ScanConvMode = ENABLE;	//单通道	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;	//连续转换	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	//转换由软件而不是外部触发启动	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	//ADC数据右对齐	ADC_InitStructure.ADC_NbrOfChannel = 2;	//顺序进行规则转换的ADC通道的数目	ADC_Init(ADC1, &ADC_InitStructure);	//根据ADC_InitStruct中指定的参数初始化外设ADCx的寄存器	ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5 );	//ADC1,ADC通道3,规则采样顺序值为1,采样时间为239.5周期		ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 2, ADC_SampleTime_239Cycles5);  	ADC_DMACmd(ADC1, ENABLE);//使能ADC1模块DMA	/* Enable ADC1 */	ADC_Cmd(ADC1, ENABLE);	//使能指定的ADC1	/* Enable ADC1 reset calibaration register */   	ADC_ResetCalibration(ADC1);	//重置指定的ADC1的校准寄存器	/* Check the end of ADC1 reset calibration register */	while(ADC_GetResetCalibrationStatus(ADC1));	//获取ADC1重置校准寄存器的状态,设置状态则等待	/* Start ADC1 calibaration */	ADC_StartCalibration(ADC1);		//开始指定ADC1的校准状态	/* Check the end of ADC1 calibration */	while(ADC_GetCalibrationStatus(ADC1));		//获取指定ADC1的校准程序,设置状态则等待	/* Start ADC1 Software Conversion */ 	ADC_SoftwareStartConvCmd(ADC1, ENABLE);		//使能指定的ADC1的软件转换启动功能}
开发者ID:andyzhao365,项目名称:GuodianBeijingGuangyuACIntoDCDetectionDevice,代码行数:30,


示例14: ADC_Configuration

/**  * @brief  Configures the ADC.  * @param  None  * @retval None  */void ADC_Configuration(void){	ADC_InitTypeDef ADC_InitStructure; // Structure to initialize the ADC	// Configure ADC1 on channel 1	ADC_InitStructure.ADC_Mode = 								ADC_Mode_Independent;	ADC_InitStructure.ADC_ScanConvMode = 				DISABLE; // One channel only	ADC_InitStructure.ADC_ContinuousConvMode = 	DISABLE; // Conversion on PWM rising edge only	ADC_InitStructure.ADC_ExternalTrigConv = 		ADC_ExternalTrigConv_T1_CC1; // Timer 1 CC1	ADC_InitStructure.ADC_DataAlign = 					ADC_DataAlign_Right;	ADC_InitStructure.ADC_NbrOfChannel = 				1;	// Initialise and enable ADC1	ADC_DeInit( ADC1 ); //Set ADC registers to default values	ADC_Init( ADC1, &ADC_InitStructure ); 	ADC_RegularChannelConfig( ADC1, ADC_Channel_10, 1, ADC_SampleTime_71Cycles5);		// Start transferts  ADC_ExternalTrigConvCmd( ADC1, ENABLE ); // Enable ADC1 external trigger	ADC_DMACmd( ADC1, ENABLE ); //Enable ADC1 DMA	ADC_Cmd( ADC1, ENABLE ); //Enable ADC1  // Enable JEOC interrupt  //ADC_ITConfig(ADC1, ADC_IT_JEOC, ENABLE);	// Calibrate ADC1	ADC_ResetCalibration( ADC1 );	while ( ADC_GetResetCalibrationStatus(ADC1) ) {} //Check the end of ADC1 reset calibration register	ADC_StartCalibration( ADC1 );	while ( ADC_GetCalibrationStatus(ADC1) ) {} //Check the end of ADC1 calibration}
开发者ID:yohan-m,项目名称:STM32-embedded-reception,代码行数:36,


示例15: ADC_Configuration

static void ADC_Configuration(void){	ADC_InitTypeDef ADC_InitStructure;	  /* Check that HSI oscillator is ready */  while(RCC_GetFlagStatus(RCC_FLAG_HSIRDY) == RESET);  /* ADC1 configuration */  ADC_InitStructure.ADC_ScanConvMode = ENABLE;	ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;  ADC_InitStructure.ADC_NbrOfConversion = ADC_CHANNEL_NUM;  ADC_Init(ADC1, &ADC_InitStructure);	// ADC_TempSensorVrefintCmd(ENABLE);  /* ADC1 regular channel18 configuration */   ADC_RegularChannelConfig(ADC1, ADC_Channel_18, 1, ADC_SampleTime_4Cycles);  //ADC_RegularChannelConfig(ADC1, ADC_Channel_Vrefint, 2, ADC_SampleTime_4Cycles);  /* Enable the request after last transfer for DMA Circular mode */  //ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE);    /* Enable ADC1 */  ADC_Cmd(ADC1, ENABLE);    /* Enable ADC1 DMA */  ADC_DMACmd(ADC1, ENABLE);  /* Wait until the ADC1 is ready */  while(ADC_GetFlagStatus(ADC1, ADC_FLAG_ADONS) == RESET)  {				  }}
开发者ID:nongxiaoming,项目名称:STM32L151_RTX,代码行数:34,


示例16: ADC_Configuration

void ADC_Configuration(void){	ADC_InitTypeDef ADC_InitStructure;	GPIO_InitTypeDef GPIO_InitStructure;		RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);	RCC_ADCCLKConfig(RCC_PCLK2_Div6);//12M ADC时钟 在72M的主频下		GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;//ADC1 端口初始化	GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;	GPIO_Init(GPIOC,&GPIO_InitStructure);		ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC初始化	ADC_InitStructure.ADC_ScanConvMode= ENABLE;//多通道模式	ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//单次模式                                                                                                  ;	ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//软件触发模式	ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//数据右对齐	ADC_InitStructure.ADC_NbrOfChannel=1;//通道数目	ADC_Init(ADC1,&ADC_InitStructure);		ADC_RegularChannelConfig(ADC1,ADC_Channel_11,1,ADC_SampleTime_239Cycles5);	//ADC_RegularChannelConfig(ADC1,ADC_Channel_12,2,ADC_SampleTime_1Cycles5);	//ADC_RegularChannelConfig(ADC1,ADC_Channel_13,3,ADC_SampleTime_1Cycles5);	ADC_DMACmd(ADC1, ENABLE);//dma开启	ADC_Cmd(ADC1,ENABLE);//adc使能		ADC_ResetCalibration(ADC1);//复位 校准	while(ADC_GetResetCalibrationStatus(ADC1));	ADC_StartCalibration(ADC1);	while(ADC_GetCalibrationStatus(ADC1));		ADC_SoftwareStartConvCmd(ADC1,ENABLE);//ADC 软件启动    }
开发者ID:catoffly,项目名称:TI_KONG,代码行数:35,


示例17: RCC_AHB1PeriphClockCmd

void Battery::initialize(){	GPIO_InitTypeDef GPIO_InitStructure;	RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOC, ENABLE);	GPIO_StructInit(&GPIO_InitStructure);	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;	GPIO_Init(GPIOC, &GPIO_InitStructure);	ADC_InitTypeDef ADC_InitStructure;	ADC_CommonInitTypeDef ADC_CommonInitStructure;	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC|RCC_APB2Periph_ADC1, ENABLE);	RCC_AHB1PeriphClockCmd(RCC_AHB1ENR_GPIOCEN,ENABLE);	ADC_DeInit();	ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;	ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div4;	ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;	ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;	ADC_CommonInit(&ADC_CommonInitStructure);	ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;	ADC_InitStructure.ADC_ScanConvMode = DISABLE;	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;	ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	ADC_InitStructure.ADC_NbrOfConversion = 1;	ADC_Init(ADC1, &ADC_InitStructure);	ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 1, ADC_SampleTime_112Cycles);	ADC_Cmd(ADC1, ENABLE);	ADC_DMACmd(ADC1,DISABLE);}
开发者ID:taniho0707,项目名称:nucleo_mouse,代码行数:35,


示例18: ADC_DMA_Init

void ADC_DMA_Init(__IO uint16_t *ADCConvertedValues, uint32_t size){	DMA_InitTypeDef DMA_InitStructure;	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);	DMA_DeInit(DMA1_Channel1);	DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;	DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t)ADCConvertedValues;	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	DMA_InitStructure.DMA_BufferSize = size;	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;	DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;	DMA_InitStructure.DMA_Priority = DMA_Priority_High;	DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	DMA_Init(DMA1_Channel1, &DMA_InitStructure);	/* Enable DMA1 channel1 */	DMA_Cmd(DMA1_Channel1, ENABLE);	/* Enable ADC1 DMA */	ADC_DMACmd(ADC1, ENABLE);}
开发者ID:593141477,项目名称:AirMonitor,代码行数:26,


示例19: Sensor_Configuration

void Sensor_Configuration(void) {	ADC_CommonInitTypeDef ADC_CommonInitStructure;	GPIO_InitTypeDef GPIO_InitStructure;	SensorGPIO_Configuration();	DMA2_Configuration();	GPIO_StructInit(&GPIO_InitStructure);	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 |									GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;	GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;	GPIO_Init(GPIOA, &GPIO_InitStructure);	ADC_CommonInitStructure.ADC_Mode = ADC_DualMode_RegSimult;	ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2;	ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_1;	ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_20Cycles;	ADC_CommonInit(&ADC_CommonInitStructure);	ADC1_Config();	ADC2_Config();	ADC_MultiModeDMARequestAfterLastTransferCmd(ENABLE);	ADC_Cmd(ADC1, ENABLE);	ADC_Cmd(ADC2, ENABLE);	ADC_DMACmd(ADC1, ENABLE);	ADC_SoftwareStartConv(ADC1);}
开发者ID:vpcola,项目名称:stm32f4,代码行数:32,


示例20: ADC1_Mode_Config

/* 函数名:ADC1_Mode_Config*/static void ADC1_Mode_Config(void){	DMA_InitTypeDef DMA_InitStructure;	ADC_InitTypeDef ADC_InitStructure;		/* DMA channel1 configuration */	DMA_DeInit(DMA1_Channel1);	DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;	 //ADC地址	DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;//内存地址	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	DMA_InitStructure.DMA_BufferSize = 4;//开辟4个储存空间	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址固定	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;  //内存地址递增使能	DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	//半字 16位	DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;		//循环传输	DMA_InitStructure.DMA_Priority = DMA_Priority_High;//高优先级	DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	DMA_Init(DMA1_Channel1, &DMA_InitStructure);		/* Enable DMA channel1 */	DMA_Cmd(DMA1_Channel1, ENABLE);		/* ADC1 configuration */		ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;	//独立ADC模式	ADC_InitStructure.ADC_ScanConvMode = ENABLE ; 	 //禁止扫描模式,扫描模式用于多通道采集	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;	//开启连续转换模式,即不停地进行ADC转换	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	//不使用外部触发转换	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; 	//采集数据右对齐	ADC_InitStructure.ADC_NbrOfChannel = 4;	 	//要转换的通道数目1	ADC_Init(ADC1, &ADC_InitStructure);		/*配置ADC时钟,为PCLK2的8分频,即9Hz*/	RCC_ADCCLKConfig(RCC_PCLK2_Div8); 	/*ADCx,通道编号,扫描顺序,采样周期 */ 	ADC_RegularChannelConfig(ADC1, ADC_Channel_1, 1, ADC_SampleTime_1Cycles5);//电池电压	ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 2, ADC_SampleTime_1Cycles5);//转把	ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 3, ADC_SampleTime_1Cycles5);//左电机电流	ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 4, ADC_SampleTime_1Cycles5);//右电机电流		/* Enable ADC1 DMA */	ADC_DMACmd(ADC1, ENABLE);		/* Enable ADC1 */	ADC_Cmd(ADC1, ENABLE);		/*复位校准寄存器 */   	ADC_ResetCalibration(ADC1);	/*等待校准寄存器复位完成 */	while(ADC_GetResetCalibrationStatus(ADC1));		/* ADC校准 */	ADC_StartCalibration(ADC1);	/* 等待校准完成*/	while(ADC_GetCalibrationStatus(ADC1));		/* 由于没有采用外部触发,所以使用软件触发ADC转换 */ 	ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:FrankEos,项目名称:BlanceMoto,代码行数:61,


示例21: ADC_Initial

void ADC_Initial(void){  ADC_InitTypeDef ADC_InitStruct;    ADC_InitStruct.ADC_Mode=ADC_Mode_Independent;  ADC_InitStruct.ADC_ScanConvMode=DISABLE;;  ADC_InitStruct.ADC_ContinuousConvMode = ENABLE;  ADC_InitStruct.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;  ADC_InitStruct.ADC_DataAlign=ADC_DataAlign_Right;  ADC_InitStruct.ADC_NbrOfChannel=1;  ADC_Init(ADC1,&ADC_InitStruct);    ADC_RegularChannelConfig(ADC1,ADC_Channel_10,1,ADC_SampleTime_55Cycles5);   ADC_DMACmd(ADC1,ENABLE);    ADC_Cmd(ADC1,ENABLE);    ADC_ResetCalibration(ADC1);    while(ADC_GetResetCalibrationStatus(ADC1));    ADC_StartCalibration(ADC1);    while(ADC_GetCalibrationStatus(ADC1));    ADC_SoftwareStartConvCmd(ADC1,ENABLE);  }
开发者ID:JinhoAndyPark,项目名称:ARM,代码行数:29,


示例22: init_ADC3

void init_ADC3(void){	RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);    //ADC common init	ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;    ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div2;    ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;    ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;    ADC_CommonInit(&ADC_CommonInitStructure);    //ADC3 init    ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;    ADC_InitStructure.ADC_ScanConvMode = ENABLE;    ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;    ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;    ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;    ADC_InitStructure.ADC_NbrOfConversion = nconversions;    ADC_InitStructure.ADC_ExternalTrigConv=0x00;    ADC_Init(ADC3, &ADC_InitStructure);    // ADC3 regular configuration    ADC_RegularChannelConfig(ADC3, ADC_Channel_12, 1, ADC_SampleTime_3Cycles);    ADC_RegularChannelConfig(ADC3, ADC_Channel_11, 2, ADC_SampleTime_3Cycles);    ADC_RegularChannelConfig(ADC3, ADC_Channel_10, 3, ADC_SampleTime_3Cycles);    ADC_RegularChannelConfig(ADC3, ADC_Channel_9, 4, ADC_SampleTime_3Cycles);	// Enable DMA request after last transfer    ADC_DMARequestAfterLastTransferCmd(ADC3, ENABLE);    ADC_DMACmd(ADC3, ENABLE);    ADC_Cmd(ADC3, ENABLE);}
开发者ID:3spds,项目名称:stm32f4,代码行数:28,


示例23: ADC_Set

void ADC_Set(void){	ADC_DMACmd(ADC1, ENABLE);ADC_Cmd(ADC1, ENABLE); ADC_ResetCalibration(ADC1);    while(ADC_GetResetCalibrationStatus(ADC1)); ADC_StartCalibration(ADC1);	while(ADC_GetCalibrationStatus(ADC1));ADC_SoftwareStartConvCmd(ADC1, ENABLE);}			
开发者ID:JinhoAndyPark,项目名称:ARM,代码行数:7,


示例24: vhADC_initADC

/*-----------------------------------------------------------* @brief Function Name  : vhADC_initADC* @brief Description    : Initializes ADC*/void vhADC_initADC(void){	/* ADC Common initialization */	ADC_CommonInitTypeDef ADC_CommonInitStructure;	ADC_CommonInitStructure.ADC_Mode = ADC_Mode_Independent;	ADC_CommonInitStructure.ADC_Prescaler = ADC_Prescaler_Div6;		// 84MHz / prescaler(6) = 14MHz (max 30 OR 36... idk)	ADC_CommonInitStructure.ADC_DMAAccessMode = ADC_DMAAccessMode_Disabled;	ADC_CommonInitStructure.ADC_TwoSamplingDelay = ADC_TwoSamplingDelay_5Cycles;	ADC_CommonInit(&ADC_CommonInitStructure);	ADC_InitTypeDef ADC_InitStructure;	ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;	ADC_InitStructure.ADC_ScanConvMode = ENABLE;			// Enable, because we want to measure more than 1 channel	ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;	ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_RisingFalling;	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_T1_CC1;	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	ADC_InitStructure.ADC_NbrOfConversion = 2;	ADC_Init(ADC1, &ADC_InitStructure);	/* ADCx regular channel configuration */	ADC_RegularChannelConfig(ADC1, ADC_Channel_10, 1, ADC_SampleTime_28Cycles);	ADC_RegularChannelConfig(ADC1, ADC_Channel_14, 2, ADC_SampleTime_28Cycles);	/* Enable DMA request after last transfer (Single-ADC mode) */	ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE);	/* Enable ADCx DMA */	ADC_DMACmd(ADC1, ENABLE);	/* Enable ADCx */	ADC_Cmd(ADC1, ENABLE);	ADC_SoftwareStartConv(ADC1);}
开发者ID:bharathvu,项目名称:AUTOPILOT-1,代码行数:39,


示例25: adc_init

void adc_init (void){  /* ADCCLK = PCLK2/8 */  RCC_ADCCLKConfig(RCC_PCLK2_Div8);  /* Enable DMA1 clock */  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);  DMA_InitTypeDef DMA_InitStructure;  /* DMA1 channel1 configuration ----------------------------------------------*/  DMA_DeInit(DMA1_Channel1);  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t) &(ADC1->DR);  DMA_InitStructure.DMA_MemoryBaseAddr = (uint32_t) &adc_value;  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;  DMA_InitStructure.DMA_BufferSize = 1;  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;  DMA_InitStructure.DMA_Priority = DMA_Priority_High;  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;  DMA_Init(DMA1_Channel1, &DMA_InitStructure);  /* Enable DMA1 channel1 */  DMA_Cmd(DMA1_Channel1, ENABLE);  ADC_InitTypeDef ADC_InitStructure;  /* ADC1 configuration ------------------------------------------------------*/  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;  ADC_InitStructure.ADC_ScanConvMode = ENABLE;  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;  ADC_InitStructure.ADC_NbrOfChannel = 1;  ADC_Init(ADC1, &ADC_InitStructure);  /* ADC1 regular channel0 configuration */  ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_55Cycles5);  /* Enable ADC1 DMA */  ADC_DMACmd(ADC1, ENABLE);  /* Enable ADC1 */  ADC_Cmd(ADC1, ENABLE);  /* Enable ADC1 reset calibration register */  ADC_ResetCalibration(ADC1);  /* Check the end of ADC1 reset calibration register */  while(ADC_GetResetCalibrationStatus(ADC1));  /* Start ADC1 calibration */  ADC_StartCalibration(ADC1);  /* Check the end of ADC1 calibration */  while(ADC_GetCalibrationStatus(ADC1));  /* Start ADC1 Software Conversion */  ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:MbedTinkerer,项目名称:bms-firmware,代码行数:59,


示例26: ADC1_Mode_Config

static void ADC1_Mode_Config(void){	DMA_InitTypeDef DMA_InitStructure;	ADC_InitTypeDef ADC_InitStructure;	/* DMA channel1 configuration */	DMA_DeInit(DMA1_Channel1);//	DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;	 			//ADC地址 DMA_InitStructure.DMA_PeripheralBaseAddr=(u32)&ADC1->DR;	DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;	//貌似要把地址符号去掉	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	DMA_InitStructure.DMA_BufferSize = 40;                             //缓冲区的大小也要修改	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;	//外设地址固定	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;  				//内存地址固定这个要修改!	DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	//半字	DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;										          //循环传输	DMA_InitStructure.DMA_Priority = DMA_Priority_High;	DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	DMA_Init(DMA1_Channel1, &DMA_InitStructure);	/* Enable DMA channel1 */	DMA_Cmd(DMA1_Channel1, ENABLE);			/* ADC1 configuration */		ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;			//独立ADC模式	ADC_InitStructure.ADC_ScanConvMode = ENABLE ; 	 				//修改:开启扫描模式,用于多通道扫描 	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;			//开启连续转换模式,即不停地进行ADC转换	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	//不使用外部触发转换	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; 	//采集数据右对齐	ADC_InitStructure.ADC_NbrOfChannel = 4;	 								//要转换的通道数目4	ADC_Init(ADC1, &ADC_InitStructure);	/*配置ADC时钟,为PCLK2的8分频,即9MHz*/	RCC_ADCCLKConfig(RCC_PCLK2_Div8); 	/*配置ADC1的通道1为55.	5个采样周期,序列为1 */ 	ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_55Cycles5);	ADC_RegularChannelConfig(ADC1, ADC_Channel_5, 2, ADC_SampleTime_55Cycles5);	ADC_RegularChannelConfig(ADC1, ADC_Channel_6, 3, ADC_SampleTime_55Cycles5);	ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 4, ADC_SampleTime_55Cycles5);	/* Enable ADC1 DMA */	ADC_DMACmd(ADC1, ENABLE);		/* Enable ADC1 */	ADC_Cmd(ADC1, ENABLE);		/*复位校准寄存器 */   	ADC_ResetCalibration(ADC1);	/*等待校准寄存器复位完成 */	while(ADC_GetResetCalibrationStatus(ADC1));		/* ADC校准 */	ADC_StartCalibration(ADC1);	/* 等待校准完成*/	while(ADC_GetCalibrationStatus(ADC1));		/* 由于没有采用外部触发,所以使用软件触发ADC转换 */ 	ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:kenziD,项目名称:ANO,代码行数:59,


示例27: ADC1_Mode_Config

/* 函数名:ADC1_Mode_Config * 描述  :配置ADC1的工作模式为MDA模式 * *             使用 DMA1 的通道 1,数据从 ADC 外设的数据寄存器(ADC1_DR_Address) *         转移到内存(ADC_ConvertedValue 变量),内存、外设地址都固定,每次传输的 *         数据大小为半字(16 位),使用 DMA 循环传输模式。 * * 输入  : 无 * 输出  :无 * 调用  :内部调用 */static void ADC1_Mode_Config(void){	DMA_InitTypeDef DMA_InitStructure;	ADC_InitTypeDef ADC_InitStructure;		/* DMA channel1 configuration */	DMA_DeInit(DMA1_Channel1);	/* ADC_DR 数据寄存器保存了 ADC 转换后的数值,以它作为 DMA 的传输源地址 */	DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;	 //ADC1_DR规则寄存器的地址,查RM0008 STM32F10x参考手册	DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;//ADC_ConvertedValue的内存地址	DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;	DMA_InitStructure.DMA_BufferSize = 1;	DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//外设地址固定	DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;  //内存地址固定	DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;	//半字	DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;	DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;		//循环传输	DMA_InitStructure.DMA_Priority = DMA_Priority_High;	DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;	DMA_Init(DMA1_Channel1, &DMA_InitStructure);		/* Enable DMA channel1 */	DMA_Cmd(DMA1_Channel1, ENABLE);		/* ADC1 configuration */		ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;	//独立ADC模式	ADC_InitStructure.ADC_ScanConvMode = DISABLE ; 	 //禁止扫描模式,扫描模式用于多通道采集	ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;	//开启连续转换模式,即不停地进行ADC转换	ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	//不使用外部触发转换	ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; 	//采集数据右对齐	ADC_InitStructure.ADC_NbrOfChannel = 1;	 	//要转换的通道数目1	ADC_Init(ADC1, &ADC_InitStructure);		/*配置ADC时钟,为PCLK2的8分频,即9Hz*/	RCC_ADCCLKConfig(RCC_PCLK2_Div8); 	/*配置ADC1的通道7为55.	5个采样周期,序列为1 */ 	ADC_RegularChannelConfig(ADC1, ADC_Channel_7, 1, ADC_SampleTime_55Cycles5);		/* Enable ADC1 DMA */	ADC_DMACmd(ADC1, ENABLE);		/* Enable ADC1 */	ADC_Cmd(ADC1, ENABLE);		/*复位校准寄存器 */   	ADC_ResetCalibration(ADC1);	/*等待校准寄存器复位完成 */	while(ADC_GetResetCalibrationStatus(ADC1));		/* ADC校准 */	ADC_StartCalibration(ADC1);	/* 等待校准完成*/	while(ADC_GetCalibrationStatus(ADC1));		/* 由于没有采用外部触发,所以使用软件触发ADC转换 */ 	ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:vcheung,项目名称:STM32,代码行数:70,


示例28: pots_start

void pots_start(){    ADC_DMARequestAfterLastTransferCmd(ADC1, ENABLE);    ADC_DMACmd(ADC1,ENABLE);    ADC_Cmd(ADC1,ENABLE);    ADC_SoftwareStartConv(ADC1);}
开发者ID:janifr,项目名称:SacrosonicMk2,代码行数:8,


示例29: acquireVoltageValue

void acquireVoltageValue(void){	uint32_t TimeCnt=0;        /* Enable ADC clock */    RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);    /* Enable DMA1 clock */    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);    /* Enable ADC1 */    ADC_Cmd(ADC1, ENABLE);	TimeCnt = 6000;    /* Wait until the ADC1 is ready */    while((ADC_GetFlagStatus(ADC1, ADC_FLAG_ADONS) == RESET) && (TimeCnt != 0))	{		TimeCnt--;	}		    /* re-initialize DMA -- is it needed ?*/    DMA_DeInit(DMA1_Channel1);    DMA_Init(DMA1_Channel1, &DMA_InitStructure);    DMA_Cmd(DMA1_Channel1, ENABLE);      /* Enable DMA channel 1 Transmit complete interrupt*/    DMA_ITConfig(DMA1_Channel1, DMA_IT_TC, ENABLE);    /* Disable DMA mode for ADC1 */     ADC_DMACmd(ADC1, DISABLE);    /* Enable DMA mode for ADC1 */      ADC_DMACmd(ADC1, ENABLE);    /*Enable ADC1*/    ADC_Cmd(ADC1,ENABLE);        /*Wait until the ADC1 is ready*/    while(ADC_GetFlagStatus(ADC1,ADC_FLAG_ADONS) == RESET);        /* Clear global flag for DMA transfert complete */    ClearADCDMA_TransferComplete();     /* Start ADC conversion */    ADC_SoftwareStartConv(ADC1);}
开发者ID:glocklueng,项目名称:GasWell,代码行数:46,


示例30: ADC1_Mode_Config

static void ADC1_Mode_Config(void){	DMA_InitTypeDef DMA_InitStructure;	ADC_InitTypeDef ADC_InitStructure;	/* DMA channel1 configuration */  DMA_DeInit(DMA1_Channel1);  DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;    //DMA外设基地址  DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;  //DMA内存基地址  DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;      //数据传输方向,从外设发送到内存  DMA_InitStructure.DMA_BufferSize = 1;  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;   //外设地址寄存器不变  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;            //内存地址寄存器递增  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;  DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;   //工作在循环缓存模式  DMA_InitStructure.DMA_Priority = DMA_Priority_High;  DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;  DMA_Init(DMA1_Channel1, &DMA_InitStructure);    /* Enable DMA channel1 */  DMA_Cmd(DMA1_Channel1, ENABLE);       /* ADC1 configuration */  ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;	//独立模式 每个ADC独立工作  ADC_InitStructure.ADC_ScanConvMode = ENABLE;				 //使用扫描模式  scan位设置  ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;	// cont位设置 连续转换模式  ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;	;//EXTSEL 选择启动规则通道组转换的外部事件 设置成有软件控制  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;	//数据对齐 由软件置位和清楚   这里设置成右对齐  ADC_InitStructure.ADC_NbrOfChannel = 1;		//规则通道序列长度 这些位由软件定义在规则通道转换序列中的通道数目 1个转换 指定由多少个通道被转换  ADC_Init(ADC1, &ADC_InitStructure);  /* ADC1 regular channel11 configuration */ 	ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_55Cycles5);	//转换时间是55.5个周期  /* Enable ADC1 external trigger */  ADC_ExternalTrigConvCmd(ADC1, DISABLE);  /* Enable ADC1 DMA */  ADC_DMACmd(ADC1, ENABLE);    /* Enable ADC1 */  ADC_Cmd(ADC1, ENABLE);  /* Enable ADC1 reset calibaration register */     ADC_ResetCalibration(ADC1);  /* Check the end of ADC1 reset calibration register */  while(ADC_GetResetCalibrationStatus(ADC1));  /* Start ADC1 calibaration */  ADC_StartCalibration(ADC1);  /* Check the end of ADC1 calibration */  while(ADC_GetCalibrationStatus(ADC1));       /* Start ADC1 Software Conversion */   ADC_SoftwareStartConvCmd(ADC1, ENABLE);}
开发者ID:sensiki,项目名称:HT-Hawk,代码行数:58,



注:本文中的ADC_DMACmd函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ ADC_DeInit函数代码示例
C++ ADC_Conversion函数代码示例
51自学网自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1