当前位置: 首页 > news >正文

STM32CubeMX笔记(11)-- AD模块使用

AD模块使用

  • <font size=5 >1、STM32CubeMX引脚设置和代码生成
    • 1.1 相关STM32CubeMX生成代码配置如下:
    • 1.2 生成代码
  • <font size=5 >2、编写相关的C函数文件
    • 2.1、相关ADC函数开启:
    • 2.2、相关ADC采样函数的编写:
    • 2.2、相关ADC采样输出函数的编写:
  • <font size=5 >3、编译工程文件,使用ST-Link烧录,测试串口数据的发送


1、STM32CubeMX引脚设置和代码生成

1.1 相关STM32CubeMX生成代码配置如下:

相关外部晶振的设置参考:STM32CubeMX笔记(5)–定时器中断
相关芯片的AD采样引脚设置:(ADC_IN0)
在这里插入图片描述
在这里插入图片描述


相关时钟的参数设置:(分频设置)
在这里插入图片描述


1.2 生成代码

1、在STM32CubeMX软件右上角,点击GEBERATE CODE项,生成代码。


2、编写相关的C函数文件

2.1、相关ADC函数开启:

相关的中断函数在stm32f1xx_hal_adc.c文件中可以查看得到。
HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)这个函数中,我们可以看到相关ADC的DMA采样开启函数的处理。
在这里插入图片描述


2.2、相关ADC采样函数的编写:

HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length)函数复制,放置于到main.c中的用户代码区,开启ADC的DMA采样模式。


定义数组

/* USER CODE BEGIN PV */
uint16_t adc_buf[1];/* USER CODE END PV */

开启ADC的DMA采样模式

 /* USER CODE BEGIN 2 */
HAL_ADC_Start_DMA((ADC_HandleTypeDef*) &hadc1, (uint32_t*) adc_buf, (uint32_t) 1);/* USER CODE END 2 */

相关参数的介绍:
第一个参数:(ADC_HandleTypeDef*) &hadc1,ADC结构体,
例如:&hadc1,即使用ADC1采样,相关的结构体名称&hadc1可通过生成代码的ADC初始化函数MX_ADC1_Init();进行查看;

第二个参数:(uint32_t*) adc_buf,采样到的数据数组地址
例如:即使用开启了多少个ADC1采样引脚,则设置多长的数据数组,adc_buf[1] 对应1个通道,adc_buf[2] 对应2个通道;

第三个参数:== (uint32_t) 1==,采样到的数据数组长度,
例如:开启了多少个通道,则设置多长的数据长度,adc_buf[1] 设置1个长度,adc_buf[2] 设置2个长度;


2.2、相关ADC采样输出函数的编写:

使用串口打印输出相关的采样到的AD数据,相关串口编写看前面章节
相关函数编写

/* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */UART1_printf_DMA("ADC1 = %d \r\n", adc_buf[0]);HAL_Delay(1000);}/* USER CODE END 3 */

3、编译工程文件,使用ST-Link烧录,测试串口数据的发送

在这里插入图片描述


http://www.dtcms.com/a/410833.html

相关文章:

  • commons-exec
  • 网页.网站.主页.网址.域名有什么联系深圳网站优化教程
  • 【LeetCode】51. N 皇后
  • 网站建设 上海浦东网络信息安全网站开发教程
  • 湖州网站建设2023设计院裁员惨烈程度
  • 论文《Inference for Iterated GMM Under Misspecification》的例子2
  • 5G RedCap模组应用领域分析
  • git 切换合并分支操作
  • 免费行情网站在线wix网站建设
  • Docker部署Nexus Repository Community Edition
  • 石材企业网站推广方式图片
  • DOM清除、缓存清除、数据库删除
  • 网站建设整改报告企业门户网站的设计 流程图
  • 东莞专业做网站看守所加强自身网站建设工作总结
  • 大模型的安全治理与技术发展
  • Carboxyrhodamine 110 LC Acid在蛋白质标记领域的应用
  • JAVA解题——求百米自由落下的10次反弹高度与所有路程距离(附源代码)
  • 【JS】JS基础-对象处理方法整合
  • 代码随想录算法训练营第五十二天|101.孤岛的总面积 102.沉没孤岛 103.水流问题 104.建造最大岛屿
  • 韩国优秀平面设计网站网站网址怎么写
  • 南通移动网站建设网站收录很少却有排名
  • Redis04-集群知识
  • 烟台网站制作设计如何给网站添加搜索关键字
  • AUTOSAR 状态管理(SWS_StateManagement.pdf)核心概念解析
  • AI 重构实体经济:2025 年传统产业智能化转型实践
  • 从“硬件能力比拼”到“生活价值交付”,方太智慧厨房重构行业竞争内核
  • 本地的赣州网站建设深圳做网站排名哪家专业
  • 专业建站推广网络公司网站在线留言如何做
  • commons-codec
  • Python 爬虫 HTTPS 实战,requests httpx aiohttp 抓取技巧、证书问题与抓包调试全流程