[STM32H5]STM32 Nucleo-64测评】+ADC的使用

在进行基于STM32 NUCLEO-H533RE开发板的ADC(模数转换器)调试时,使用MDK-ARM(Keil uVision 5.38a)作为编译软件和板载的ST-linkV3作为调试器是一个常见的选择。


下面我将详细指导你如何通过STM32CubeMX配置ADC1,并使用PA1引脚进行ADC采样的基本步骤。

1. STM32CubeMX配置ADC1
第一步:创建新项目
打开STM32CubeMX。
点击“File” -> “New Project”创建一个新项目。
在MCU/MPU Selector中选择你的设备STM32H753ZI(NUCLEO-H533RE的核心MCU)。


第二步:配置时钟
确保你的MCU时钟配置正确,以满足ADC的采样率需求。通常,系统时钟(HSE或HSI)会被用作PLL的输入来生成高速时钟。


第三步:配置ADC1
在左侧的Pinout & Configuration界面中,找到ADC1部分。
展开ADC1,选择模拟输入通道。对于你的需求,你需要将PA1设置为ADC1的输入。
点击PA1旁边的下拉菜单,选择“ADC1_IN1”作为功能。
转到Configuration标签页,对ADC1进行更详细的配置:
设置分辨率。
设置采样时间(这会影响ADC的转换速率和精度)。
配置连续转换模式或单次转换模式。
如果需要,配置DMA来自动传输ADC数据到内存。
第四步:配置时钟树
确保ADC的时钟被正确配置。这通常在Clock Configuration部分进行。

第五步:生成代码
点击“Project” -> “Generate Code”生成初始化代码。选择MDK-ARM作为IDE,并设置你的项目路径。
2. MDK-ARM(Keil uVision 5)中编写ADC读取代码
在Keil中打开生成的项目,你可以在main.c或特定的ADC处理文件中添加代码来读取ADC值。


代码:

复制

 if (HAL_ADC_PollForConversion(&hadc1, 10) != HAL_OK)

    {

      Error_Handler();

    }

                uiADCVALUE = HAL_ADC_GetValue(&hadc1);

                uiADCVOLTAGE = __HAL_ADC_CALC_DIFF_DATA_TO_VOLTAGE(3300, uiADCVALUE, ADC_RESOLUTION_12B);

          printf("\r\nADC CH1 stm32h5: = %4d  \t\r\n", uiADCVALUE);

                HAL_Delay(500) ;



下面上图:
 


配置时钟:


 


输出结果:


---------------------
作者:meiyaolei
链接:https://bbs.21ic.com/icview-3395334-1-1.html
来源:21ic.com
此文章已获得原创/原创奖标签,著作权归21ic所有,任何人未经允许禁止转载。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值