Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void ADCinit_SoftTrigger() //configurations of adc(sensor) reader
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- ADC_InitTypeDef ADC_InitStructure;
- ADC_CommonInitTypeDef ADC_CommonInitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2 | RCC_APB2Periph_ADC3, ENABLE);
- RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2 | GPIO_Pin_3;
- 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_Disabled;
- ADC_CommonInit(&ADC_CommonInitStructure);
- ADC_InitStructure.ADC_Resolution = ADC_Resolution_10b;
- ADC_InitStructure.ADC_ScanConvMode = DISABLE;
- ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
- 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(ADC2, &ADC_InitStructure);
- ADC_RegularChannelConfig(ADC2, ADC_Channel_2, 1, ADC_SampleTime_3Cycles);
- ADC_Init(ADC3, &ADC_InitStructure);
- ADC_RegularChannelConfig(ADC3, ADC_Channel_3, 1, ADC_SampleTime_3Cycles);
- ADC_Cmd(ADC2, ENABLE);
- ADC_Cmd(ADC3, ENABLE);
- }
- // for read ADC_pins
- uint16_t ADC_read(ADC_TypeDef* ADCX,uint8_t channel,uint8_t ADC_SampleTime){
- ADC_RegularChannelConfig(ADCX,channel,1,ADC_SampleTime);
- ADC_SoftwareStartConv(ADCX);
- while(ADC_GetFlagStatus(ADCX, ADC_FLAG_EOC)==0);
- return ADC_GetConversionValue(ADCX);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement