草庐IT

STM32CubeMX

全部标签

STM32 LL库 TIM3定时器多通道捕获输入采集

为什么不用HAL库,使用HAL库捕获输入一个通道还尚可,多通道捕获由于HAL的回调函数不符合我的要求,干脆直接切换到LL库。网上找了许多,代码处理写的不符合我的要求,这里记录一下我的调试过程。TIM2输出1路PWM信号,使用1分3杜邦线接到TIM3的CH2-CH3-CH4通道进行捕获输入。#include"tim.h"/*TIM2initfunction*/voidMX_TIM2_Init(void){LL_TIM_InitTypeDefTIM_InitStruct={0};LL_TIM_OC_InitTypeDefTIM_OC_InitStruct={0};LL_GPIO_InitTypeD

基于STM32的智能花盆系统设计与实现(华为云IOT)

一、设计需求1.1设计需求总结伴随着人们生活水平以及现在科学技术的急速发展,越来越多的人喜欢在家庭栽培一些盆栽植物。可是当代生活节奏过快,导致盆栽大多数都不能得到很好的补充水分和阳光照射,从而导致盆栽的生活周期变短。如何利用现代电子技术设计一种可自动浇水的智能花盆成为当前都市人群所迫切需求的。为了解决盆栽养殖因浇水不善导致植物枯萎死亡的问题,本文设计了一种基于STM32的智能花盆。系统以STM32为主控芯片,设有土壤湿度检测模块,环境温度检测模块,水泵控制模块、ESP8266联网模块等。工作原理为:花盆可以通过湿度传感器检测土壤湿度,自动控制水泵进行浇水。通过ESP8266网卡连接华为云物联网

【ESP32 WiFi篇(五)】ESP32 HTTP

文章目录1.HTTP概述1.1超文本1.2请求-响应1.3TCP2HTTP请求和响应2.1HTTP请求响应过程2.2客户端请求消息2.2.1请求行2.2.1.1请求方法2.2.1.2URL2.2.1.3HTTP版本2.2.2请求头部2.3服务器响应消息2.3.1状态行2.3.2消息报文3ESP32HTTPserver1.HTTP概述  超文本传输协议(HyperTextTransferProtocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。1.1超文本  什么叫超文本?要理解这个概念,我们可以先知道什么是文

基于stm32f103c8t6及AS608-----指纹锁项目

一、关于本项目:     本文适合于初学者,大佬还请勿喷,欢迎提出意见,有纰漏之处将及时纠正。在浅学了stmf103c8t6后,想着依据现在所拥有的知识和能力做一个小项目。在了解到有关宿舍指纹锁的相关内容,对该功能的实现产生了极大的兴趣。于是着手准备学习研究.....|ू・ω・`)。注:工程代码在文章末尾。二、准备工作:掌握C语言基础....这个最基础啦...接触过类似单片机,稍微看得懂芯片手册,会烧录啥的...画板子,焊接(这个项目里自己给画了一个板子,整体更整洁美观一点,其实也不是必要的,个人选择)..需要用到的一些硬件...三、硬件需要:(大概估计了一下成本在100左右)1.stm32f

STM32 CubeIDE ADC及AD8232模块心电采集实验

Goal配置USART1为异步通讯模式,波特率为115200,配置PA1为ADC单通道(中断或者DMA均可)采集模式使用AD8232心电采集模块,配置相应的其余IO口功能:(1)将测到的心电数据转换成电压,并通过串口输出; (2)通过算法计算心率,每一分钟通过串口打印Background模数转换器(ADC)【以光敏电阻传感器模块为例】    图1 5V容忍I/O端口位的基本结构        把GPIO口设置为读取模式,信号从GPIO口经过TTL施密特触发器输入数据到寄存器,TTL施密特触发器可以把连续信号通过一个分界线,将模拟信号在界限上的部分转换为高电平脉冲并将界限下的部分转换为低电平脉冲

用keil-MDK建立STM32标准库工程空模板(超详细图文并茂)

目录一、建立工程文件二、准备所有需要的文件三、添加所有需要的文件四、编译虽然知道正点原子有现成的STM32标准库工程模板,但还是想自己从头开始建立一个自己的模板。一是想要一个干净的空模板,后续编程想要加什么就加什么,别人的工程的话总是有很多不需要的文件,看着乱乱的。二是加深对编程的理解,知道一个工程必须具备哪些基本文件和基本配置,以后报错的时候知道在哪报错,提高纠错能力。初学STM32单片机的时候,往往就倒在了第一步,因为keil-MDK的环境配置比较繁琐,中途会出各种问题。环境配置好后,需要建立一个能跑的工程模板也比较繁琐,需要查找各种资料,这也需要耐心,但这是学习单片机必须经历的过程,后面

STM32的Boot0和Boot1设置

在STM32系列微控制器中,Boot0和Boot1引脚提供了一种方便的方式来选择启动模式。这两个引脚用于控制芯片在上电时加载的固件。通过正确设置这些引脚,我们可以选择从闪存还是系统存储器(SRAM)中启动。引脚功能和电平Boot0引脚:位于微控制器的引脚图上,通常标记为BOOT0或BOOT0_PIN。它用于选择启动模式。当Boot0引脚为高电平(3.3V)时,芯片将从闪存启动。当Boot0引脚为低电平(0V)时,芯片将从SRAM启动。Boot1引脚:位于微控制器的引脚图上,通常标记为BOOT1或BOOT1_PIN。它用于选择启动模式的扩展选项,通常与Boot0引脚一起使用。Boot1引脚在不同

105-基于stm32单片机智能家居温湿度烟雾监测人体红外防盗报警系统Proteus仿真+程序源码

一:功能介绍1、采用stm32单片机+LCD1602+DHT11温湿度传感器+烟雾传感器+按键开关+蜂鸣器+LED灯,制作一个智能家居温湿度烟雾监测人体红外防盗报警系统;2、通过按键开关来模拟人体红外检测触发,并且可以通过按键开关来设置正在布防和停止布防状态,布防状态下,当检测到有人闯入,蜂鸣器和LED进行声光报警提醒;3、通过烟雾传感器检测烟雾浓度,并且显示到LCD1602显示屏上面,当烟雾浓度大于一定值,进行蜂鸣器LED声光报警4、LCD1602显示温湿度、烟雾浓度、布防检测状态;二:仿真演示视频+程序简要讲解:(程序有中文注释,新手容易看懂)105-基于stm32单片机智能家居温湿度烟雾

【STM32】基于STM32F103C8T6驱动步进电机

步进电机介绍:步进电机是一种特殊的电机,它的转动角度是离散的,可以通过给定脉冲信号控制其转动角度。步进电机通常由两个或多个线圈组成,每个线圈都可以通过施加电流使其磁化,在磁化的情况下,线圈会与定子上的磁极产生磁吸引力,从而使转子转动。控制步进电机转动的基本原理是通过改变电流的方向和大小使线圈磁化状态发生变化,从而控制转子的转动。接线介绍:在STM32F103C8T6库函数驱动步进电机的实现中,使用GPIO控制步进电机的线圈,通过控制线圈的电流方向和大小来控制步进电机的转动。具体实现中,将步进电机的线圈分为ABCD四个线圈,分别对应GPIO的四个输出引脚。根据步进电机的转动方向决定线圈的磁化顺序

STM32对GPIO进行基础输出操作:点亮LED灯并闪烁,跑马流水灯(标准库GPIO输出模式)

STM32GPIO输出流程:操作STM32的GPIO需要三个步骤第一步:RCC开启时钟第二步:使用GPIO_Init函数初始化GPIO第三步:使用输出或输入的函数控制GPIO口1、RCC最常用的函数:voidRCC_AHBPeriphClockCmd(uint32_tRCC_AHBPeriph,FunctionalStateNewState);voidRCC_APB2PeriphClockCmd(uint32_tRCC_APB2Periph,FunctionalStateNewState);voidRCC_APB1PeriphClockCmd(uint32_tRCC_APB1Periph,Fu