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

STM32G0B1 ADC DMA normal

目标

        ADC 5个通道,希望每1秒采集一遍;

CUBEMX 配置

添加代码 

#define ADC1_CHANNEL_CNT 5 	//采样通道数
#define ADC1_CHANNEL_FRE 3	//单个通道采样次数,用来取平均值
uint16_t adc1_val_buf[ADC1_CHANNEL_CNT*ADC1_CHANNEL_FRE]; //传递给DMA存放多通道采样值的数组
  /* USER CODE BEGIN 2 */HAL_ADC_Start_DMA(&hadc1, (uint32_t*)adc1_val_buf, (ADC1_CHANNEL_CNT * ADC1_CHANNEL_FRE));bInit();/* USER CODE END 2 */
  /* USER CODE BEGIN WHILE */while (1){BOS_PERIODIC_TASK(cycle_run, 1000);	   bExec();/* USER CODE END WHILE */
/* USER CODE BEGIN 4 */void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef *hadc)
{if(hadc->Instance == ADC1){}b_log("HAL_ADC_ConvCpltCallback \r\n");
}/* USER CODE END 4 */

运行效果

因为每个通道采集3次,所以3个cycle_run触发一次 中断;

结论

    符合预期效果;

http://www.lryc.cn/news/533462.html

相关文章:

  • <tauri><rust><GUI>基于rust和tauri,在已有的前端框架上手动集成tauri示例
  • 模型 冗余系统(系统科学)
  • Deepseek部署的模型参数要求
  • AI-学习路线图-PyTorch-我是土堆
  • [LeetCode]day17 349.两个数组的交集
  • axios 发起 post请求 json 需要传入数据格式
  • linux交叉编译paho-mqtt-c
  • feign Api接口中注解问题:not annotated with HTTP method type (ex. GET, POST)
  • 安装指定版本的pnpm
  • 【系统设计】Spring、SpringMVC 与 Spring Boot 技术选型指南:人群、场景与实战建议
  • 常用数据结构之String字符串
  • 深入Linux系列之进程地址空间
  • HAL库外设宝典:基于CubeMX的STM32开发手册(持续更新)
  • 网络安全-HSTS
  • 全程Kali linux---CTFshow misc入门(38-50)
  • HarmonyOS:时间日期国际化
  • 使用miniforge代替miniconda
  • LIMO:少即是多的推理
  • 【玩转 Postman 接口测试与开发2_018】第14章:利用 Postman 初探 API 安全测试
  • 如何编写测试用例
  • 复原IP地址(力扣93)
  • zzcms接口index.php id参数存在SQL注入漏洞
  • Redis03 - 高可用
  • 系统URL整合系列视频四(需求介绍补充)
  • 激活函数篇 03 —— ReLU、LeakyReLU、ELU
  • 山东大学软件学院人机交互期末复习笔记
  • python 语音识别方案对比
  • docker常用命令及案例
  • DeepSeek-R1 云环境搭建部署流程
  • Java_双列集合