STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

这篇具有很好参考价值的文章主要介绍了STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解


  • 📌相关篇《【硬件开源电路】STM32G070RBT6开发板》
  • 🛠STM32CubeMX工程配置过程演示
    STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

📢Keil工程完成业务代码以及烧录演示放在资源中,gif文件过大无法上传。

📚工程概要

本工程是基于STM32CubeMX工具来配置项目,功能需求:在PA0引脚接入一个外部模拟量信号(单片机能承受的电压信号范围:0 ~ 3.6V)检测输入电压.然后通过串口打印出来。

📝需要自己补充的代码

  • 🌿在adc.c源文件当中,在指定的位置放置如下实现函数
/******************************************************************************************************
*	函 数 名: ADC1_GetVaule
*	入口参数: 无
*	返 回 值: ADC1转换值
*	函数功能: 进行AD转换,采集电压
*	说    明: 多次采样求平均值,可以提高测量的精度,该函数返回的是AD转换得到的寄存器值
*******************************************************************************************************/

uint16_t  ADC1_GetVaule(void)
{
	uint8_t  i = 0;
	uint32_t AD_Vaule = 0;	// AD转换值
	
	for(i=0;i<30;i++)	// 进行30次转换
	{
		HAL_ADC_Start(&hadc1);  									// 启动转换

		AD_Vaule = AD_Vaule + HAL_ADC_GetValue(&hadc1);	// 求和	
	}
	AD_Vaule	= AD_Vaule / 30;	// 取平均值

	return (uint16_t)AD_Vaule;	// 返回AD转换值
}

STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

🌿在adc.h头文件当中添加该函数实现的方法(函数)名。
STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

  • 🌿在usart.c文件当中,在指定的位置放置如下实现函数

📑主要功能是实现在需要调试信息输出的地方,Printf函数串口打印,在需要使用printf打印的地方,需要包含其stdio.h头文件,本函数依赖Miicro LIB,需要在Keil中,Target-勾选“Micro Lib”选项。

#include "stdio.h"
/*可调用printf*/
int fputc(int ch,FILE *f)
{
    /*&huart1指的是串口1,如果用别的串口就修改数字*/
    HAL_UART_Transmit(&huart1 , (uint8_t *)&ch , 1 , 0xffff);
    return ch;
}

STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解

STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解文章来源地址https://www.toymoban.com/news/detail-428596.html

✨STM32CubeMX配置注意事项

  • 通过配置串口,默认串口1是分配在:PC4PC5引脚上的,在生成的Keil工程当中,定义在usart.c文件当中。可以将串口1的功能复用到:PA9PA10PB6PB7上。

⛳工程源码

链接:https://pan.baidu.com/s/1IHIIF5GFn41zYKjUMWOTKA 
提取码:3t93

到了这里,关于STM32G070RBT6基于STM32CubeMX自动生成ADC输入电压采样工程全过程讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 大彩串口屏与STM32G070CBT6通讯调试

    大彩串口屏与STM32G070CBT6通讯调试

    本文主要讲解如何将大彩提供的DEMO移植到自己项目的工程文件中。首先通过STM32CubeMX生成基于STM32G070CBT6的Hall库程序;然后将大彩的程序移植到生成的Hall库程序中。 对串口屏基本功能不作过多介绍。主要讲解一下指令格式和硬件连接。 对串口屏基本功能不作过多介绍。主要

    2024年02月16日
    浏览(18)
  • STM32G070KBT6最小系统板绘制和晶振配置、BOOT模式配置

    STM32G070KBT6最小系统板绘制和晶振配置、BOOT模式配置

    芯片:选用STM32G070KBT6,具有128 KB Flash存储器、36 KB RAM,基于M0+内核,最大主频64MHz; 在stm32G0系列参考手册中我们可以发现高速外部时钟信号(HSE)可由两种可能的时钟源产生:一种是外部时钟信号(HSE),另一种是内部时钟信号(HSE)。时钟源: - HSE 外部晶体/陶瓷谐振器(

    2024年02月22日
    浏览(8)
  • stm32g070的PD0/PD2 PA8和PB15

    stm32g070的PD0/PD2 PA8和PB15

           目前在用STM32G070做项目,其中PD2+TIMER3去模拟PWM,PD0用作按键检测,测试发现PD0低电平检测没有问题,高电平检测不到,电路图如下图所示:  用万用表测试电平,高电平1.0V左右,首先怀疑硬件问题,把光电开关拔掉,P16悬空发现还是1.0V,后面电阻和电容也没有短路

    2024年02月13日
    浏览(7)
  • 蓝桥杯嵌入式STM32G431RBT6竞赛指南与模板——最后的绝唱

    蓝桥杯嵌入式STM32G431RBT6竞赛指南与模板——最后的绝唱

    谨以此文和我去年前的一篇蓝桥杯单片机的教程构成电子类的 青铜双壁. 国信长天单片机竞赛训练之原理图讲解及常用外设原理(遗失的章节-零)_昊月光华的博客-CSDN博客     目录 时钟树 串口重定向:printf输出 动态点灯(点灯大师) 按键(常用状态机) 同一时刻对多个按键按

    2024年02月07日
    浏览(20)
  • 蓝桥杯嵌入式STM32G431RBT6的学习(总大纲)(HAL库学习)板子介绍

    蓝桥杯嵌入式STM32G431RBT6的学习(总大纲)(HAL库学习)板子介绍

    我写蓝桥杯嵌入式大概用到的外设,都是非常常用的。我在这里汇总一下。 蓝桥杯嵌入式基础模块——GPIO的使用(新板)STM32G431(HAL库开发)_薛定谔的猫咪死了的博客-CSDN博客 蓝桥杯嵌入式基础模块——串口的使用(新板)STM32G431(HAL库开发)_薛定谔的猫咪死了的博客-C

    2024年02月02日
    浏览(30)
  • 【蓝桥杯】一文解决蓝桥杯嵌入式开发板(STM32G431RBT6)LCD与LED显示冲突问题,并讲述LCD翻转显示

    【蓝桥杯】一文解决蓝桥杯嵌入式开发板(STM32G431RBT6)LCD与LED显示冲突问题,并讲述LCD翻转显示

       不知道大家在开发过程中有没有碰到: LCD与LED同时(宏观上的同时)点亮时产生的LED状态紊乱问题 。 LCD与LED显示冲突现象图   为了解决上述问题,小编给出了以下三种解决方案: 方案一:    每次LCD显示完成数据后,关闭所有LED一次。   但是 使用该方法比较麻烦,

    2023年04月12日
    浏览(8)
  • STM32F105RBT6 -- RCC 系统时钟

    STM32F105RBT6 -- RCC 系统时钟

    打开STM32Cube MX 软件可以找到STM32F105RBT6 的系统时钟树,数据手册里面缺失了,F103 和F105 系统时钟树有点区别的 STM32F103xx 的系统时钟树可以在《数据手册_STM32F103RCT6_ARMCORTEX-M3_72MHZ_2016-11-30.PDF》 资料里面找到,这pdf名字是我自己取的,可以去正点原子论坛找 startup_stm32f10x_hd.s 中

    2024年02月07日
    浏览(13)
  • STM32F105RBT6 使用定时器TIM3输出PWM波

    STM32F105RBT6 使用定时器TIM3输出PWM波

    2.1 相关函数 RCC_APB1PeriphClockCmd、GPIO_Init、TIM_TimeBaseInit、TIM_OC4Init、TIM_OC4PreloadConfig、NVIC_Init、TIM_ITConfig、TIM_Cmd、 3.1 在启动文件里面找到TIM3 对应的中断入口函数,也就是中断服务函数 TIM3_IRQHandler 4.1 中断服务函数需要快速地执行完毕。中断服务函数应该避免执行太多的计算复

    2024年02月08日
    浏览(13)
  • 蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习

    蓝桥杯嵌入式CT117E-M4学习笔记02-STM32G431RBT6芯片学习

    首先学习了解一下蓝桥杯嵌入式CT117E-M4开发板的主控芯片STM32G431RBT6,本文仅为个人学习成果总结,如有错误,恳请指正。 上图为STM32CubeMX选型界面,如图可以看出STM32G431RBT6具有以下特点和硬件集成。 采用Cortex-M4 32位RISC核心架构,工作频率最高可达170Mhz。 128kBytes的FLASH,32

    2023年04月09日
    浏览(14)
  • STM32CubeMX配置STM32G031多通道ADC采集(HAL库开发)

    STM32CubeMX配置STM32G031多通道ADC采集(HAL库开发)

    时钟配置HSI主频配置64M  勾选打开8个通道的ADC  使能连续转换模式  配置好串口,选择异步模式 配置好需要的开发环境并获取代码  修改main.c 串口重定向  串口重定向一定要勾选Use Micro LIB  获取ADC通道值 主函数   串口输出

    2024年02月15日
    浏览(15)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包