• 大小: 4.43M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2025-01-28
  • 语言: 其他
  • 标签: STM32  STM3  ST  例程  通信  

资源简介


资源截图

代码片段和文件信息

#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个文件信息

评论

共有 条评论