草庐IT

STM32 HAL库函数——HAL_TIM_Base_Start_IT()详解

以STM32G030C8T6中的HAL_TIM_Base_Start_IT()函数为例,进行解释;文章目录一、函数原型和源代码二、函数用法详解:2.1参数2.1.1TIM_HandleTypeDef结构体详解2.2使用场景:2.3使用方法:三、函数使用示例:四、函数源代码五、函数逐行解释六、函数使用注意事项一、函数原型和源代码函数原型:HAL_StatusTypeDefHAL_TIM_Base_Start_IT(TIM_HandleTypeDef*htim);二、函数用法详解:函数原型:HAL_StatusTypeDefHAL_TIM_Base_Start_IT(TIM_HandleTypeD

毕业设计 基于STM32的智能宠物投喂系统(全套资料)

文章目录0前言1系统说明2背景意义3系统设计3.1总体方案3.2硬件设计3.2.1STC89C523.2.2CLS150TD舵机3.2.3压力传感器3.2.4HX711A/D模块3.2.5供电及稳压3.2.6TLN104/TLP104红外对管光电传感器模块介绍3.2.7其他硬件模块3.3软件实现3.3.1主程序逻辑3.3.2按键监听模块3.3.3温度数据读取3.3.4超声波检测水位3.3.5LCD1602显示模块4实现效果5关键代码6最后0前言🔥这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统

STM32之PWM控制电机

PWM的原理:假定定时器工作在向上计数PWM模式,且当CNT=CCRx时输出1。那么就可以得到如上的PWM示意图:当CNT值小于CCRx的时候,IO输出低电平(0),当CNT值大于等于CCRx的时候,IO输出高电平(1),当CNT达到ARR值的时候,重新归零,然后重新向上计数,依次循环。改变CCRx的值,就可以改变PWM输出的占空比,改变ARR的值,就可以改变PWM输出的频率,这就是PWM输出的原理 PWM参数计算公式:1.)pwm频率:72M/(PSC+1)/(ARR+1)2.) pwm占空比:CCR/(ARR+1)3.)pwm分辨率:1/(ARR+1)直接上代码://开启时钟线 RCC_A

江协科技STM32——旋转编码器计次(软件消抖)

目录一、旋转编码器介绍1.原理简介2.波形图问题描述二、解决方案1.检测思路2.引脚连接3.关键代码展示(Encoder.c)4.注意事项总结一、旋转编码器介绍1.原理简介本实验使用的是EC11旋转编码器,这是一种增量式旋转编码器,拥有A、B、C三个输出通道,其中A、B两相输出正交信号,相位差为90°,C相输出零脉冲信号,用于标识位置。当编码器正转时,A相的输出信号超前B相90°;当编码器反转时,A相滞后B相90°。我们在程序中可以根据A、B两相信号输出的先后顺序,来判断旋转编码器是正转还是反转。2.波形图(1)正转、反转波形:理想的波形输出如上图所示(仅为示意图),A、B两相波形有一个90°

基于STM32的设计智慧超市管理系统(带收银系统+物联网环境监测)

一、前言基于STM32+OneNet设计的智慧超市管理系统(2023升级版)1.1项目背景随着IoT技术的不断发展,智能无人超市也越来越受到人们的关注。智能无人超市是指在无人值守的情况下,通过物联网、大数据等技术手段实现自助选购、结算和配送的新型商场。当前设计了一种基于STM32的智慧超市管理设计与实现,具有较高的实用性和可行性。1.2设计思路本系统主要由超市环境监测部分和商品管理部分组成。环境监测部分主控芯片采用STM32F103C8T6,主要包括温湿度传感器、烟雾传感器和空调制热开关、空调制冷开关,采集的数据通过ESP8266模块+MQTT协议上传至OneNet云平台,在OneNet云平台

STM32入门笔记10_USART串口通信+案例:上位机控制LED亮灭(USART串口通信、TIM定时器、EXTI综合案例)

USART串口通信通信接口通信的目的:将一个设备的数据传送到另一个设备,扩展硬件系统通信协议:制定通信的规则,通信双方按照协议规则进行数据收发名称引脚双工时钟电平设备USARTTX、RX全双工异步单端点对点I2CSCL、SDA半双工同步单端多设备SPISCLK、MOSI、MISO、CS全双工同步单端多设备CANCAN_H、CAN_L半双工异步差分多设备USBDP、DM半双工异步差分点对点USART有同步和异步两种通讯方式,但同步只用作特殊功能,一般只使用异步通讯串口通信串口是一种应用十分广泛的通讯接口,串口成本低,容易使用、通信线路简单,可实现两个设备的互相通信单片机的串口可以使单片机与单片机

STM32F4_时钟系统精讲

目录1.什么是系统时钟2.时钟树2.1LSI2.2LSE2.3HSI 2.4HSE2.5PLLCLK2.6SYSCLK2.7HCLK2.8PCLK12.9PCLK22.10RTC/AWU3SysTick定时器3.1为什么会有Systick定时器?3.2SysTick定时器的作用 3.3 SysTick定时器的寄存器4.IO引脚复用和映射5.NVIC中断优先级5.1中断寄存器5.2NVIC中断优先级设置函数5.3中断优先级设置步骤    嵌入式入坑者,与君共勉,大家一起加油!        💬推荐一款模拟面试、刷题神器,从基础到大厂面试题👉点击跳转刷题网站进行注册学习 1.什么是系统时钟    

FlyMcu - 用于STM32芯片ISP串口程序一键下载的免费软件

目录一、前言二、下载1.官方网站2.选择中文网页3.进入软件下载页面4.下载所需要的版本5.下载完成三、配置1.准备下载程序2.开始下载程序3.完成下载程序一、前言  FlyMcu模拟仿真软件是一款用于STM32芯片ISP串口烧录程序的专用工具,免费,且较为非常容易下手,好用便捷。二、下载1.官方网站  单片机在线编程网:http://www.mcuisp.com/2.选择中文网页  点击官网首页的“简体中文”入口。3.进入软件下载页面  点击网页的公司简介的最后一段中带有下划线的“免费的串口ISP下载软件”,找不到的话,也可以点击最上方标签栏的“软件下载”。  吐槽一下,文字超链接“免费的串

【FOC无刷电机控制】六步换向、FOC,STM32cubemx从零开始搭建BLDC六步换相代码、FOC代码(基于霍尔传感器)

目录O、前言1个人经验2软硬件介绍一、六步换相1新建cubemx工程2工程基础配置(1)RCC时钟配置(2)SYS调试接口(3)工程设置,生成MDK工程3串口(1)cubemx配置(2)printf重映射(3)测试4霍尔传感器(1)Cubemx配置(2)初始化启动(3)测试定时中断(4)测试霍尔中断4开环控制(1)普通PWMcubemx配置(2)普通GPIO配置(3)开环控制二、FOCO、前言用作备忘录,也希望能帮助正在入门摸索的朋友少走弯路,从外设开始,到开环,到闭环。参考文章代码:正点原子、野火、硬石,三家文档几乎一样。(个人感觉原子文档写的好)1个人经验刚开始学无刷电机控制时是直接去看的

【STM32技巧】HX711称重芯片详细说明

概述HX711模块A通道带有128倍信号增益,可以将5mV的电压放大128倍,然后采样输出24bitAD转换的值,单片机通过指定时序将24bit数据读出如何计算传感器供电电压HX711可以在产生VAVDD和AGND电压,即711模块上的E+和E-电压。该电压通过:VAVDD=VBG(R1+R2)/R2例如:VBG为模块儿基准电压1.25V,R1=20K,R2=8.2K,因此得出VAVDD=4.3V(为了降低功耗,该电压只在采样时刻才有输出,因此用万用表读取的值可能低于4.3v,因为万用表测量的是有效值。)测重原理讲解满量程输出电压=激励电压*灵敏度1.0mv/v例如:供电电压是5V乘以灵敏度1