打印
[STM32C0]

【STM32C071RBT6测评】STM32C071RBT6使用定时器启动ADC通过DMA存储数据实验

[复制链接]
75|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuyu40|  楼主 | 2025-5-12 19:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM32C071RBT6使用定时器启动ADC通过DMA存储数据实验
安装软件
数据表:https://www.st.com.cn/resource/en/data_brief/nucleo-c092rc.pdf
开发工具入门:https://www.st.com.cn/resource/zh/user_manual/um1727-getting-started-with-stm32-nucleo-board-software-development-tools-stmicroelectronics.pdf
STM32 的集成开发环境:https://www.st.com.cn/zh/development-tools/stm32cubeide.html
STM32Cube 初始化代码生成器(必须安装):https://www.st.com.cn/zh/development-tools/stm32cubemx.html
STM32CubeProgrammer 软件:https://www.st.com.cn/zh/development-tools/stm32cubeprog.html
要安装至少一个STM32Cube 初始化代码生成器(经过测试至少要在6.13版以上)SetupSTM32CubeMX-6.14.1-Win软件,可以使用MDK进行调试也可以使用STM32的集成开发环境(新版需要安装在win10,不兼容win7),需要安装stlink驱动。

在这个网址https://www.st.com.cn/zh/embedded-software/stm32cubec0.html下载面向STM32C0系列的STM32Cube MCU软件包(包含HAL、底层API和CMSIS、文件系统、RTOS - 以及在各类意法半导体开发板上运行的示例)

假设已经安装好 STM32CubeMX 和 STM32CubeC0 支持包。
Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32C071rbt。在pinout界面设置ADC转换,比如ADC1使用IN7,时钟保持默认状态,点击GENERATE CODE自动生成初始化代码:


ADC的启动信号和DMA设置很重要如图:

还需要设置DMA如图:

需要用time1的更新事件启动ADC,做如下设置:

在main()中添加代码:
/* 启动定时器*/
HAL_TIM_Base_Start(&htim1);
HAL_ADC_Start_DMA(&hadc1,&ADC_result,1);
  /* 启动ADC和DMA的链接通道*/
当然为了方便调试需要将uint32_t  adcresult;放到main()之前定义为全局变量;调试下载观察到

接线使用PA7接到一个光敏传感器,观察到转换结果,这里给出硬件接线图:

用手遮挡光线,观察到转换结果变化。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

31

帖子

0

粉丝