stm32f103之GP2Y1014AU

来源:互联网 发布:查看informix端口 编辑:程序博客网 时间:2024/06/15 05:10

灰尘传感器 GP2Y1010AU的接线方式:

这里写图片描述


ADC初始化:

void  Adc_Init(void){       ADC_InitTypeDef ADC_InitStructure;     GPIO_InitTypeDef GPIO_InitStructure;    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);          RCC_ADCCLKConfig(RCC_PCLK2_Div6);      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;           GPIO_Init(GPIOA, &GPIO_InitStructure);      ADC_DeInit(ADC1);      ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;      ADC_InitStructure.ADC_ScanConvMode = DISABLE;       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_Cmd(ADC1, ENABLE);      ADC_ResetCalibration(ADC1);     while(ADC_GetResetCalibrationStatus(ADC1));     ADC_StartCalibration(ADC1);      while(ADC_GetCalibrationStatus(ADC1));  }                 u16 Get_Adc(u8 ch)   {    ADC_RegularChannelConfig(ADC1, ch, 1, ADC_SampleTime_239Cycles5 );              ADC_SoftwareStartConvCmd(ADC1, ENABLE);         while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));    return ADC_GetConversionValue(ADC1);    }u16 Get_Adc_Average(u8 ch,u8 times){    u32 temp_val=0;    u8 t;    for(t=0;t<times;t++)    {        temp_val+=Get_Adc(ch);        delay_ms(5);    }    return temp_val/times;}    

GP2Y1014AU的使用:

void GP2Y1014AU()   //PIN3  B12 {    GPIO_ResetBits(GPIOB,GPIO_Pin_12);                     delay_us(280);          AD_PM=Get_Adc(1);     delay_us(40);         GPIO_SetBits(GPIOB,GPIO_Pin_12);        delay_us(9680); }void GP2Y1014AU_init(void){    GPIO_InitTypeDef GPIO_InitStruce;    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);    GPIO_InitStruce.GPIO_Mode=GPIO_Mode_Out_PP;    GPIO_InitStruce.GPIO_Pin=GPIO_Pin_12;    GPIO_InitStruce.GPIO_Speed= GPIO_Speed_50MHz;    GPIO_Init(GPIOB,&GPIO_InitStruce);}
原创粉丝点击