STM32CubeIDE(STM32L432KC片上ADC)

2024-07-21 940阅读

目录

一、概念

二、使用

1、定时器触发模式

1.1 软件配置

1.2 代码编写

2、定时器触发ADC 多通道+DMA

2.1 软件配置

2.2 代码编写

一、概念

1. 类型与精度:STM32L432KC的ADC是一个12位逐次逼近型模拟数字转换器,能够提供高精度的模拟信号测量。其精度通常优于±0.25%。

2. 通道数量:该ADC拥有多个输入通道,允许连接至不同的外部引脚以及一些内部源(如温度传感器、VREFINT等),能够测量16个外部信号源加上2个内部信号源,共计18个通道,这些通道分为规则通道组和注入通道组。

3. 转换速率:STM32L4系列的ADC支持多种采样率设置,可以根据应用需求调整转换速度与功耗之间的平衡。STM32L432KC的ADC支持高达几兆赫兹的采样率,具体取决于系统时钟配置。

4. 灵活的配置:通过STM32CubeMX软件或直接编程,用户可以灵活配置ADC的工作模式,包括但不限于连续转换、扫描模式(多通道连续转换)、单次转换或由事件触发的注入转换等。

5. 低功耗特性:作为STM32L4系列的一员,该ADC设计注重低功耗操作,支持多种电源模式,确保在不同应用场景下都能保持高效的能源利用。

6. 硬件过采样:STM32L432KC的ADC支持硬件过采样功能,可以通过增加采样次数提高有效分辨率,这对于需要高精度测量的应用非常有用。

7. 校准功能:为保证测量精度,该ADC还支持校准功能,用户可以通过相应的校准寄存器进行校正,以补偿由于制造工艺产生的误差。

8、香农采样定理:又称为奈奎斯特-香农采样定理,是信息论、通信工程和信号处理中的一个关键理论。该定理主要由哈里·奈奎斯特(Harry Nyquist)和克劳德·香农(Claude Shannon)分别在1928年和1949年提出和完善,它描述了为了能够从样本中无失真地重构原始连续信号所需的最低采样频率。根据香农采样定理:如果一个信号x(t)是带限的,即它的频谱在|f| > W Hz处为零,则只要采样频率fs大于信号最高频率的两倍,即fs > 2W Hz,就可以从采样值中完全恢复原信号。

二、使用

1、定时器触发模式

1.1 软件配置

①配置ADC通道五触发方式为TIM6溢出触发

STM32CubeIDE(STM32L432KC片上ADC)

②配置TIM6 1s溢出一次

STM32CubeIDE(STM32L432KC片上ADC)

③打开ADC中断,TIM6溢出中断不需要开

STM32CubeIDE(STM32L432KC片上ADC)

1.2 代码编写

①先打开TIM6定时和ADC中断

  HAL_ADC_Start_IT(&hadc1);
  HAL_TIM_Base_Start(&htim6);
  while (1)
  {
  	HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);
  	HAL_Delay(500);
  }

②在ADC回调函数中读取ADC采集数据

uint32_t val=0;
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
	if(hadc->Instance ==ADC1)
	{
		val=HAL_ADC_GetValue(&hadc1);
		printf("val:%d\r\n",(int)val);
	}
}

2、定时器触发ADC 多通道+DMA

2.1 软件配置

①开三个通道

STM32CubeIDE(STM32L432KC片上ADC)

②DMA设置,循环转换模式

STM32CubeIDE(STM32L432KC片上ADC)

③ADC配置,其余配置同上定时器触发模式(ADC中断依旧要打开)

STM32CubeIDE(STM32L432KC片上ADC)

STM32CubeIDE(STM32L432KC片上ADC)

2.2 代码编写

①以DMA方式启动ADC,数据存储在buffer中。

	uint32_t len=3;
	uint32_t buffer[len];
	HAL_ADC_Start_DMA(&hadc1,buffer,len);
	HAL_TIM_Base_Start(&htim6);
  while (1)
  {
  	HAL_GPIO_TogglePin(LED3_GPIO_Port, LED3_Pin);
  	HAL_Delay(500);
  }

②在回调函数中查看数据

void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
    printf("val: %d,%d,%d \r\n",buffer[0],buffer[1],buffer[2]);
}

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]