資源簡介
通過串口調試助手設定電壓值(十六進制),用ADC采集顯示在串口助手上

代碼片段和文件信息
?#include?“adc.h“
?#include?“delay.h“
/*********************************************************************************
*************************MCU啟明?STM32F103MINI開發板******************************
**********************************************************************************
*?文件名稱:?adc.c????????????????????????????????????????????????????????????????*
*?文件簡述:ADC初始化????????????????????????????????????????????????????????????*
*?創建日期:2018.03.07???????????????????????????????????????????????????????????*
*?版????本:V1.0?????????????????????????????????????????????????????????????????*
*?作????者:Clever???????????????????????????????????????????????????????????????*
*?說????明:?????????????????????????????????????????????????????????????????????*
**********************************************************************************
*********************************************************************************/?
???
???
//初始化ADC????這里我們僅以規則通道為例?默認將開啟通道0~3 ???
void??ADC1_Init(void)
{?
ADC_InitTypeDef?ADC_InitStructure;?
GPIO_InitTypeDef?GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA?|RCC_APB2Periph_ADC1 ?ENABLE?); ??//使能ADC1通道時鐘
?
RCC_ADCCLKConfig(RCC_PCLK2_Div6);???//設置ADC分頻因子6?72M/6=12ADC最大時間不能超過14M
//PA1?作為模擬通道輸入引腳?????????????????????????
GPIO_InitStructure.GPIO_Pin?=?GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode?=?GPIO_Mode_AIN; //模擬輸入引腳
GPIO_Init(GPIOA?&GPIO_InitStructure);
ADC_DeInit(ADC1);??//復位ADC1將外設?ADC1?的全部寄存器重設為缺省值
ADC_InitStructure.ADC_Mode?=?ADC_Mode_Independent; //ADC工作模式:ADC1和ADC2工作在獨立模式
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數據右對齊
ADC_InitStructure.ADC_NbrOfChannel?=?1; //順序進行規則轉換的ADC通道的數目
ADC_Init(ADC1?&ADC_InitStructure); //根據ADC_InitStruct中指定的參數初始化外設ADCx的寄存器???
ADC_Cmd(ADC1?ENABLE); //使能指定的ADC1
ADC_ResetCalibration(ADC1); //使能復位校準??
?
while(ADC_GetResetCalibrationStatus(ADC1)); //等待復位校準結束
ADC_StartCalibration(ADC1); ?//開啟AD校準
?
while(ADC_GetCalibrationStatus(ADC1)); ?//等待校準結束
?
// ADC_SoftwareStartConvCmd(ADC1?ENABLE); //使能指定的ADC1的軟件轉換啟動功能
}
/****************************************************************************
*?名????稱:?u16?Get_Adc(u8?ch)?
*?功????能:獲得ADC值
*?入口參數:ch:?通道值?0~3取值范圍為:ADC_Channel_0~ADC_Channel_3
*?返回參數:12位ADC有效值
*?說????明:???????
****************************************************************************/
u16?Get_Adc(u8?ch)???
{
?? //設置指定ADC的規則組通道,一個序列,采樣時間
ADC_RegularChannelConfig(ADC1?ch?1?ADC_SampleTime_239Cycles5?); //ADC1ADC通道采樣時間為239.5周期 ?? ????
??
ADC_SoftwareStartConvCmd(ADC1?ENABLE); //使能指定的ADC1的軟件轉換啟動功能
?
while(!ADC_GetFlagStatus(ADC1?ADC_FLAG_EOC?));//等待轉換結束
return?ADC_GetConversionValue(ADC1); //返回最近一次ADC1規則組的轉換結果
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-03-18?13:51??Drive\
?????目錄???????????0??2019-03-18?15:37??Drive\Include\
?????文件?????????151??2019-01-16?10:12??Drive\Include\adc.h
?????文件?????????180??2017-07-03?15:36??Drive\Include\delay.h
?????文件?????????554??2019-01-16?23:34??Drive\Include\key.h
?????文件????????1184??2019-03-18?13:38??Drive\Include\led.h
?????文件????????2670??2019-01-16?10:12??Drive\Include\sys.h
?????文件????????1154??2019-03-18?15:37??Drive\Include\usart.h
?????目錄???????????0??2019-03-28?19:49??Drive\Source\
?????文件????????3942??2019-01-17?09:59??Drive\Source\adc.c
?????文件?????????250??2019-01-16?22:22??Drive\Source\adc.h
?????文件????????6400??2015-07-04?09:48??Drive\Source\common.c
?????文件????????2852??2015-07-04?09:39??Drive\Source\common.h
?????文件????????2573??2019-01-17?10:31??Drive\Source\dac.c
?????文件?????????302??2015-07-11?23:00??Drive\Source\dac.h
?????文件????????1088??2017-07-03?15:35??Drive\Source\delay.c
?????文件????????4833??2019-01-16?23:34??Drive\Source\key.c
?????文件????????1268??2019-03-18?13:40??Drive\Source\led.c
?????文件?????????376??2019-01-16?11:50??Drive\Source\main.c
?????文件????????3259??2015-07-04?15:01??Drive\Source\stm32f10x_conf.h
?????文件????????4445??2018-11-30?16:24??Drive\Source\stm32f10x_it.c
?????文件????????2086??2015-07-04?15:01??Drive\Source\stm32f10x_it.h
?????文件????????2672??2019-03-18?22:19??Drive\Source\sys.h
?????文件????????1041??2019-03-28?19:49??Drive\Source\time.c
?????文件?????????128??2019-03-17?11:32??Drive\Source\time.h
?????文件????????5311??2019-03-18?22:20??Drive\Source\usart.c
?????文件?????????385??2018-01-03?21:46??keilkilll.bat
?????目錄???????????0??2019-03-28?19:50??MY\
?????文件?????????748??2019-03-28?19:50??MY\main.c
?????文件????????3259??2015-07-04?15:01??MY\stm32f10x_conf.h
?????文件????????4445??2018-11-30?16:24??MY\stm32f10x_it.c
............此處省略193個文件信息
評論
共有 條評論