在STM32F103ZET6的处理器上,设置ADC1的采样频率为1KHz,采样精度为12位,对电压进行数据采集

使用IAR或者Keil软件写一段程序实现以下功能:在STM32F103ZET6的处理器上,设置ADC1的采样频率为1KHz,采样精度为12位,对电压进行数据采集... 使用IAR或者Keil软件写一段程序实现以下功能: 在STM32F103ZET6的处理器上,设置ADC1的采样频率为1KHz,采样精度为12位,对电压进行数据采集 展开
 我来答
xlm870213
2015-10-12
知道答主
回答量:35
采纳率:0%
帮助的人:22.4万
展开全部
  芯片:STM32F103
  库函数版本:3.5
  平台:KEIL 4.72

  ADC1初始化部分

  ADC_InitTypeDef ADC_USER;
  RCC_ADCCLKConfig(RCC_PCLK2_Div6);
  ADC_USER.ADC_Mode = ADC_Mode_Independent;
  ADC_USER.ADC_ScanConvMode = DISABLE;
  ADC_USER.ADC_ContinuousConvMode = DISABLE;
  ADC_USER.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
  ADC_USER.ADC_DataAlign = ADC_DataAlign_Right;
  ADC_USER.ADC_NbrOfChannel = 1;
  ADC_Init(ADC1, &ADC_USER);

  ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_239Cycles5);
  ADC_Cmd(ADC1, ENABLE);

  ADC_ResetCalibration(ADC1);
  while(ADC_GetResetCalibrationStatus(ADC1));
  ADC_StartCalibration(ADC1);
  while(ADC_GetCalibrationStatus(ADC1));
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);

  //主程序调用ADC部分
  ADC_SoftwareStartConvCmd(ADC1, ENABLE);
  delay_us(200);
  while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC));
  num = ADC_GetConversionValue(ADC1); //返回值就是采集的数据
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式