標(biāo)題: STM32學(xué)習(xí)之ADC的使用 [打印本頁]

作者: xiaos    時(shí)間: 2015-4-10 17:33
標(biāo)題: STM32學(xué)習(xí)之ADC的使用
配置ADC先配置好ADC的輸入引腳PC1,這里我使用ADC1的第11通道.


  1. void ADC_Configuration()

  2. {

  3.        GPIO_InitTypeDef      GPIO_InitStructure;

  4.       

  5.        RCC_APB2PeriphClokCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_ADC1,ENABLE);//使能PC和ADC1的時(shí)鐘

  6.        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;//選擇模擬輸入模式

  7.        GPIO_InitStructure.GPIO_Pin=GPIO_Pin1;



  8.        GPIO_Init(GPIOC,&GPIO_InitStructure);

  9. }

  10. 配置ADC

  11. void ADC_Configuration()

  12. {

  13.        ADC_InitTypeDef        ADC_InitStructure;

  14.       

  15.        ADC_InitStructure.ADC_ContinuousConvMode=ENABLE;使用連續(xù)轉(zhuǎn)換模式

  16.        ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC數(shù)據(jù)右對齊

  17.        ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//使用軟件觸發(fā)ADC轉(zhuǎn)換

  18.        ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC工作在獨(dú)立模式

  19.        ADC_InitStructure.ADC_NbrOfChannel=1;//選擇只有一個(gè)通道開始轉(zhuǎn)換

  20.        ADC_InitStructure.ADC_ScanConvMode=DISABLE;//使用單通道模式

  21.       

  22.        ADC_Init(ADC1,&ADC_InitStructure);

  23.        RCC_ADCCLKConfig(RCC_PCLK2_Div8);//選擇ADC的時(shí)鐘為APB2橋時(shí)鐘的八分之一

  24.       

  25.        ADC_RegularChannelConfig(ADC1,ADC_Channel_11, 1, ADC_SampleTime_55Cycles5);//設(shè)置ADC1說我第11通道的轉(zhuǎn)換順序?yàn)榈谝粋(gè) 采樣時(shí)間為55.5個(gè)周期

  26.        ADC_Cmd(ADC1,ENABLE);

  27.       

  28.        ADC_ResetCalibration(ADC1);//重置ADC1的校準(zhǔn)寄存器

  29.        while(ADC_GetResetCalibrationStatus(ADC1))//等待校準(zhǔn)完成

  30.        {

  31.             

  32.        }

  33.       

  34.               ADC_StartCalibration(ADC1);//指定ADC1的校準(zhǔn)狀態(tài)

  35.       

  36.        while(ADC_GetCalibrationStatus(ADC1));//等待指定完成

  37.       

  38.        ADC_SoftwareStartConvCmd(ADC1,ENABLE);//軟件觸發(fā)ADC1開始轉(zhuǎn)換

  39. }  
復(fù)制代碼


最后調(diào)用 ADC_GetInjectedConversionValue(ADC1, ADC_Channel_11);就可以得到模數(shù)轉(zhuǎn)換的數(shù)字量的值.




作者: zps0312    時(shí)間: 2015-4-11 11:41
看不懂哈,初學(xué)者




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1