您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“stm32f051 adc單次軟件選擇循環(huán)采樣的方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“stm32f051 adc單次軟件選擇循環(huán)采樣的方法是什么”吧!
void ADC1_Config(void) { ADC_InitTypeDef ADC_InitStruct; GPIO_InitTypeDef GPIO_InitStruct; /* Enable GPIOA clock */ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);//使能GPIOA時鐘 /* ADC1 Periph clock enable */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);//使能ADC1時鐘 /* Configure PA.0 as analog input */ GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_AN; GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL ; GPIO_Init(GPIOA, &GPIO_InitStruct); //設(shè)置PA0為模擬輸入,PA0對應(yīng)的是通道0 ADC總共19個通道,16個外部通道,一個溫度,一個電壓,還有一個自己內(nèi)部的Vbat通道; /* ADC1 DeInit */ ADC_DeInit(ADC1); /* Initialize ADC structure */ ADC_StructInit(&ADC_InitStruct); /* Configure the ADC1 in continous mode withe a resolutuion equal to 12 bits */ ADC_InitStruct.ADC_Resolution = ADC_Resolution_12b; //12位的分辨率 ADC_InitStruct.ADC_ContinuousConvMode = ENABLE; //循環(huán)采樣,意思就是在整個程序可以被進行多次轉(zhuǎn)換,單次轉(zhuǎn)換的話整個程序生命周期只能被觸發(fā)一次 ADC_InitStruct.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;軟件觸發(fā) ADC_InitStruct.ADC_DataAlign = ADC_DataAlign_Right; 右對齊 ADC_InitStruct.ADC_ScanDirection = ADC_ScanDirection_Upward; ADC_Init(ADC1, &ADC_InitStruct); ADC_ChannelConfig(ADC1, ADC_Channel_0, ADC_SampleTime_55_5Cycles); 設(shè)置采樣通道,一定要把通道號和引腳的串口號對應(yīng)起來 /* ADC Calibration */ ADC_GetCalibrationFactor(ADC1); //adc校準 ADC_Cmd(ADC1, ENABLE); 使能adc /* Wait the ADCEN falg */ while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_ADEN)); /* ADC1 regular Software Start Conv */ ADC_StartOfConversion(ADC1); 開始ADC轉(zhuǎn)換 } ADCData[Num]=ADC_GetConversionValue(ADC1) 在實際程序中可以用這個函數(shù)進行采樣
到此,相信大家對“stm32f051 adc單次軟件選擇循環(huán)采樣的方法是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。