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

STM32H743单片机实现ADC+DMA多通道检测

在stm32cubeMX上配置ADC+DMA实现多通道检测功能

 DMA配置

 生成代码,HAL_ADC_Start_DMA开始DMA读取ADC值,HAL_ADC_Stop_DMA关闭DMA读取

void Start_ADC2_DMA(void) {/* 初始化后校准ADC */HAL_ADCEx_Calibration_Start(&hadc2, ADC_CALIB_OFFSET, ADC_SINGLE_ENDED); // 执行ADC校准/* 启动ADC连续转换(不间断轮询) */HAL_ADC_Start_DMA(&hadc2, (uint32_t*)adc2_values, ADC2_CHANNELS);
}
void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc) {if (hadc->Instance == ADC2)  // 确认是ADC2的转换完成{adc_ready |= 0x01; // 标记ADC2数据就绪HAL_ADC_Stop_DMA(&hadc2);}
}
void AdcTask(void *argument)
{Start_ADC2_DMA();int i = 0;float voltage;for (;;) {if (adc_ready == 0x01) { // 等待两组ADC数据就绪/* 打印ADC2数据 */for (i = 0; i < hadc2.Init.NbrOfConversion; i++) {voltage = adc2_values[i] * VEF / VEFVALUE;printf("ADC2[%d] = %d.%dV\r\n", i, (uint32_t) voltage,(uint32_t) (voltage * 100) % 100);}printf("\n");adc_ready = 0; // 清除标志位}osDelay(100);}
}

共勉!!!STM32H743单片机实现ADC+DMA多通道检测+事件组-CSDN博客

http://www.xdnf.cn/news/306271.html

相关文章:

  • Python生活手册-Numpy数组索引:从快递柜到咖啡店的数字化生活指南
  • 易境通货代系统:如何用一套系统解决货代多业务场景痛点?
  • 机器学习-简要与数据集加载
  • 影刀RPA中使用AI模型
  • java中hashmap源码解析(jdk1.8)
  • 代码mark:脚本获取包含全角字符的字符串的长度
  • php中serialize和unserialize的用法详解
  • 开源模型应用落地-qwen模型小试-Qwen3-8B-推理加速-vLLM-Docker(二)
  • 鸿蒙NEXT开发动画(风格的弹性缩放加载动画组件)
  • 长实公布新盘案名“花语海” 打造全新“维港都会公园圈”
  • Dubbo(99)如何在区块链系统中应用Dubbo?
  • RLOO:将多次其他回答的平均reward作为baseline
  • [250505] Arch Linux 正式登陆 Linux 的 Windows 子系统
  • 电动金属硬密封蝶阀泄露等级:水、蒸汽、油品介质的零泄漏守护方案-耀圣
  • Relay 算子调用流程
  • Java 函数式编程
  • 高斯计校准的重要性
  • 【C语言】推箱子小游戏
  • 初步认识java
  • 精益数据分析(42/126):移动应用商业模式的深度剖析与实战要点
  • 浏览器存储 Cookie,Local Storage和Session Storage
  • 在 Sheel 中运行 Spark:开启高效数据处理之旅
  • 公司项目架构搭建者
  • LXwhat-嘉立创
  • 5G+教育:如何重塑未来课堂?
  • 打造智慧养老实训室,构建科技赋能养老新生态
  • 精益数据分析(44/126):深度解析媒体网站商业模式的关键要点
  • 安装篇--CentOS 7 虚拟机安装
  • 【AI】用AI将文档、文字一键生成PPT的方法(百度的自由画布版)
  • OpenCV 图形API(79)图像与通道拼接函数-----将一个三通道的 GMat 图像拆分为三个单独的单通道 GMat函数split3()