資源簡介
代碼片段和文件信息
#include?“adc.h“
void?adc_init()
{
GPIO_InitTypeDef??GPIO_InitStructure;
ADC_InitTypeDef?ADC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1?ENABLE);?//使能ADC時鐘和PA口時鐘
RCC_ADCCLKConfig(RCC_PCLK2_Div6);??//設置?ADC?時鐘(?ADCCLK)?72/6=12M
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_1; ???
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN;? ?//模擬輸入模式
GPIO_Init(GPIOA?&GPIO_InitStructure);
ADC_DeInit(ADC1); ???//將外設?ADCx?的全部寄存器重設為缺省值
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;???//ADC工作模式?獨立模式
ADC_InitStructure.ADC_ScanConvMode=DISABLE;?//ADC通道掃描模式,單通道掃描
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;?//ADC連續掃描還是單次模式,單次掃描
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;?//ADC觸發方式?使用軟件觸發
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;?//ADC數據對其方式?使用數據右對齊
ADC_InitStructure.ADC_NbrOfChannel=1;?//ADC規則轉換通道數?1個
ADC_Init(ADC1&ADC_InitStructure);
ADC_Cmd(ADC1ENABLE);??//使能ADC1
ADC_ResetCalibration(ADC1);??//?重置指定的?ADC?的校準寄存器
while(ADC_GetResetCalibrationStatus(ADC1)); //獲取?ADC?重置校準寄存器的狀態
ADC_StartCalibration(ADC1);??//開始指定?ADC?的校準狀態
while(ADC_GetCalibrationStatus(ADC1)); //獲取指定?ADC?的校準程序
}
void?adc5_init()
{
GPIO_InitTypeDef??GPIO_InitStructure;
ADC_InitTypeDef?ADC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1?ENABLE);?//使能ADC時鐘和PA口時鐘
RCC_ADCCLKConfig(RCC_PCLK2_Div6);??//設置?ADC?時鐘(?ADCCLK)?72/6=12M
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_5; ???
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN;? ?//模擬輸入模式
GPIO_Init(GPIOA?&GPIO_InitStructure);
ADC_DeInit(ADC1); ???//將外設?ADCx?的全部寄存器重設為缺省值
ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;???//ADC工作模式?獨立模式
ADC_InitStructure.ADC_ScanConvMode=DISABLE;?//ADC通道掃描模式,單通道掃描
ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;?//ADC連續掃描還是單次模式,單次掃描
ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;?//ADC觸發方式?使用軟件觸發
ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;?//ADC數據對其方式?使用數據右對齊
ADC_InitStructure.ADC_NbrOfChannel=1;?//ADC規則轉換通道數?1個
ADC_Init(ADC1&ADC_InitStructure);
ADC_Cmd(ADC1ENABLE);??//使能ADC1
ADC_ResetCalibration(ADC1);??//?重置指定的?ADC?的校準寄存器
while(ADC_GetResetCalibrationStatus(ADC1)); //獲取?ADC?重置校準寄存器的狀態
ADC_StartCalibration(ADC1);??//開始指定?ADC?的校準狀態
while(ADC_GetCalibrationStatus(ADC1)); //獲取指定?ADC?的校準程序
}
u16?ADC_Getvalue(u8?ch)?//獲取ADC轉換值 ?ch:0-3(ADC_Channel_0??--??ADC_Channel_17)
{
ADC_RegularChannelConfig(ADC1ch1ADC_SampleTime_239Cycles5);//設置ADC規則通道及采樣時間
ADC_SoftwareStartConvCmd(ADC1ENABLE);?//ADC開始軟件轉換
while(!ADC_GetFlagStatus(ADC1ADC_FLAG_EOC));??//等待轉換完成
return?ADC_GetConversionValue(ADC1); ?//返回最近一次轉換結果
}
u16?ADC_Get_Average(u8?chu8?time)??//求取讀取多次通道ADC轉換的平均值
{
u8?i;
u32?temp=0;
for(i=0;i {
temp+=ADC_Getvalue(ch);
delay_ms(5); //間隔點時間采樣
}
return?(u16)(temp/time);
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????3269??2015-11-04?12:14??2.4G無線通信應用\app\adc\adc.c
?????文件????????281??2015-11-04?12:14??2.4G無線通信應用\app\adc\adc.h
?????文件???????4660??2015-11-13?11:07??2.4G無線通信應用\app\adxl345\adxl345.c
?????文件???????1667??2015-11-13?09:46??2.4G無線通信應用\app\adxl345\adxl345.h
?????文件???????3377??2015-11-05?16:25??2.4G無線通信應用\app\AT24Cxx\AT24CXX.c
?????文件????????655??2015-11-05?16:25??2.4G無線通信應用\app\AT24Cxx\AT24CXX.h
?????文件????????481??2015-10-07?09:33??2.4G無線通信應用\app\beep\beep.c
?????文件????????281??2015-10-07?09:28??2.4G無線通信應用\app\beep\beep.h
?????文件???????1058??2015-10-26?17:23??2.4G無線通信應用\app\button\button.c
?????文件????????572??2015-10-07?10:40??2.4G無線通信應用\app\button\button.h
?????文件???????4576??2015-11-10?10:01??2.4G無線通信應用\app\can\can.c
?????文件????????329??2015-11-10?09:52??2.4G無線通信應用\app\can\can.h
?????文件???????1165??2015-11-04?12:06??2.4G無線通信應用\app\dac\dac.c
?????文件????????175??2015-11-04?11:18??2.4G無線通信應用\app\dac\dac.h
?????文件???????2685??2015-11-12?12:14??2.4G無線通信應用\app\DHT11\dht11.c
?????文件????????447??2015-11-12?12:01??2.4G無線通信應用\app\DHT11\dht11.h
?????文件???????1554??2015-11-05?11:51??2.4G無線通信應用\app\dma\dma.c
?????文件????????223??2015-11-05?10:45??2.4G無線通信應用\app\dma\dma.h
?????文件???????4925??2015-11-12?10:16??2.4G無線通信應用\app\DS18B20\ds18b20.c
?????文件????????526??2015-11-12?10:16??2.4G無線通信應用\app\DS18B20\ds18b20.h
?????文件???????3268??2015-10-31?12:05??2.4G無線通信應用\app\exti\exti.c
?????文件????????211??2015-10-10?14:10??2.4G無線通信應用\app\exti\exti.h
?????文件??????15811??2014-03-22?12:47??2.4G無線通信應用\app\gui\asciicode.h
?????文件??????13449??2016-05-24?09:15??2.4G無線通信應用\app\gui\gui.c
?????文件???????1600??2016-05-24?09:12??2.4G無線通信應用\app\gui\gui.h
?????文件???????2466??2014-12-16?17:16??2.4G無線通信應用\app\IIC(24C02)\iic.c
?????文件????????675??2015-11-05?16:13??2.4G無線通信應用\app\IIC(24C02)\iic.h
?????文件????????406??2015-10-21?14:42??2.4G無線通信應用\app\iwdg\iwdg.c
?????文件????????141??2015-10-21?14:21??2.4G無線通信應用\app\iwdg\iwdg.h
?????文件???????7775??2016-07-28?08:43??2.4G無線通信應用\app\lcd\lcd_driver.c
............此處省略241個文件信息
- 上一篇:高壓無刷電機的硬件資料
- 下一篇:DV泵加羅茨泵獨立控制系統PID.smart
評論
共有 條評論