你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32U5的ADC测试

[复制链接]
落花又见流水 发布时间:2023-3-12 21:13
STM32U5ADC最高可达14bit采样位数。采样率达2.5Mbps
下面就来测试一下它的ADC外设。
首先打开 STM32CubeMX,按下图选择开发板模式创建工程。如果没有装STM32U5的开发包,可以点右边的INSTALL安装。
1.jpg
搜索U5,选择NUCLEO-U575开发板,这样可以直接初始化板上的一些已有外设了。如下图所示。然后点击右上角START PROJECT,开始配置工程。
2.jpg
下图就是开始工程配置了,可以看到一开始就有一些默认外设已配置好了。
3.jpg
首先选择ICACHEDCACHE,打开这两个。打开时之后一般默认设置就好了。
3-1.jpg 3-2.jpg
下面选择ADC1外设,打开使能通道8,即PA3脚。使用单端模式。
4.jpg

, F0 V6 ]0 }* {' o$ B) l# b2 U
再就配置ADC的参数。时钟频率,数据位数,采样模式,采样通道设置,采样触发设置等等。

. s( |3 Y/ `! A; N4 v5 U+ t
5.jpg
6.jpg 7.jpg

! `1 K, p/ k4 S8 @  G4 B: a
设置完采样相关的参数后,使能ADC中断,通过中断模式读取数据。
7-1.jpg

9 D, y( w/ J0 k: c/ D! A
由于ADC采样使用了TIM6触发采样,下面就要设置TIM6的参数。
设置每100us采样触发一次ADC
8.jpg

* I/ H9 g' P7 M7 \
下一步设置MCU的主频时钟树,非常简单,默认160MHz
9.jpg
下面设置工程名称和保存路径,以及开发包库版本。然后点击右上角的按钮生成代码。
10.jpg 11.jpg 12.jpg
等待代码生成完成就可以直接打开工程了。
13.jpg
打开生成的代码工程,此时还没有完成ADC采样功能。只是有了基本框架,下面就是要添加额外的代码控制了。
首先要使能ADC的电源VDDA,在main初始如下位置添加代码:
   HAL_PWREx_EnableVddA();
   HAL_PWREx_EnableVddIO2();
这里如果没添加的话,ADC功能是无法正常工作的。
14.jpg

: s9 M6 c- J. `/ e# F' w
然后添加ADC的校准,此处参考例程。代码如下:
  if (HAL_ADCEx_Calibration_Start(&hadc1, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED) != HAL_OK)
  {
    /* Calibration Error */
    Error_Handler();
  }
再就是启动TIM6ADC1了。添加如下代码启动
  HAL_TIM_Base_Start(&htim6); //启动TIM6
  HAL_ADC_Start_IT(&hadc1); //中断方式启动ADC1转换。
15.jpg
添加了启动转换,下面还要添加读取采样数据。直接重载ADC中断转换完成回调函数,代码如下:
uint32_t adc_value[2];
volatile uint32_t adc_index = 0;
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{
    if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))
    {
        adc_value[adc_index++] = HAL_ADC_GetValue(hadc);
    }
    if( __HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOS))
    {
        adc_index  = 0;
    }
}
16.jpg
. V4 _$ b- k4 y3 J+ \, u# E3 @9 e  x
下面就可以编译下载了,编译无错误。
17.jpg
下面就可以在IDE中查看读取的数据了。我在PA3口接了一个声音传感器,可以采样其模拟值。
18.jpg

! R0 q. j* K& e2 b$ m0 t+ c4 ~
测试采样数值挺稳定的,14bit的数据跳动范围都小于8。性能看来很不错。
4 Z# \! \3 a2 I* z8 g# \
收藏 评论1 发布时间:2023-3-12 21:13

举报

1个回答
lugl 回答时间:2023-3-13 08:29:09

多谢分享

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版