草庐IT

STM32高级定时器输出指定数量PWM(STM32CubeMx配置)

STM32高级定时器输出指定数量PWM原理了解STM32CubeMx配置定时器及通道配置GPIO口选择工程生成及代码编写工程文件代码编写tim.c编写中断相关函数实现功能函数atim.c及atim.h编写key.c及key.h编写main.c编写原理了解高级定时器中有一个重复计数器,本实验输出指定个数PWM就是利用了重复计数器的特性,先来看看重复计数器的特性是什么:计数器每次上溢或下溢都能使重复计数器减1,减到0时,再发生一次溢出就会产生更新事件这是什么意思呢,这里举个例子比如说我设定重复计数器的值为3,则计数器上溢一次则重复计数器的值变为2,再继续上溢知道重复计数器的值变为0,此时在溢出一次

STM32个人笔记-SDIO接口

目录SDIO接口常用设备SD卡的总线拓扑总线协议SD卡数据包格式 SD命令 SD命令类型响应SD卡操作模式SD卡系统(包括主机和CD卡)定义了两种操作模式:卡识别模式和数据传输模式。卡识别模式数据传输模式STM32功能框图控制单元命令路径 数据路径数据FIFO适配器寄存器HAL库_SDIOSDIO配置SDIO初始化结构体SDIO函数SD卡常用接口:SPI、SDIO。SDIO接口常用设备SD卡组成:存储单元、存储单元接口、电源检测、卡及接口控制器和接口驱动器。SD卡的总线拓扑虽然可以共用总线,但不推荐多卡槽共用总线信号,要求一个单独总线应该连接一个单独的SD卡。 CLK:时钟线,由SDIO主机产

RT-Thread STM32 NUCLEO-F072RB开发板BSP说明

RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明简介开发板介绍外设支持使用说明快速上手硬件连接编译下载运行结果进阶使用注意事项示例代码源码下载维护人:RT-ThreadSTM32NUCLEO-F072RB开发板BSP说明简介本文档为NUCLEO-F072RB开发板提供的BSP(板级支持包)说明。主要内容如下:开发板资源介绍BSP快速上手进阶使用方法通过阅读快速上手章节开发者可以快速地上手该BSP,将RT-Thread运行在开发板上。在进阶使用指南章节,将会介绍更多高级功能,帮助开发者利用RT-Threa

STM32 IAP固件升级跳转后卡死可能存在的原因

使用IAP固件升级,本质上就是代码地址的跳转,从bootload代码跳转到APP代码。具体关于IAP升级的原理可自行查找资料。本贴主要说明一下,在开发过程中遇到的2个问题导致固件升级跳转后复位。问题1:bootload跳转成功后,串口初始化卡死,导致看门狗复位。分析:APP代码中需要清除bootload中外设的初始化,否则在APP中的初始化无法成功,而且STM32CubeMX生成的HAL,下层函数大部分都是while形式的,初始化不成功就会卡死,如果这个时候设置了看门狗,就会复位。处理方式:在main函数第一行添加HAL_DeInit();清除外设初始化。问题2:一旦bootload运行跳转函

STM32:TTL串口调试

一.TTL串口概要    TTL只需要两个线就可以完成两个设备之间的双向通信,一个发送电平的I/O称之为TX,与另一个设备的接收I/O口RX相互连接。两设备之间还需要连接地线(GND),这样两设备就有相同的0V参考电势。二.TTL串口调试    实现电脑通过STM32发送指令来控制红绿小灯的亮灭。    电脑输入"R0"红灯灭,"R1"红灯亮;"B0"蓝灯灭,"B1"蓝灯亮;"G0"绿灯灭,"G1"绿灯亮 注:案例使用STM32F103CT6芯片,KEYSKING教程的开发板套件。开发板接口图如下在CubeIDE中,设计面板->属性分类->connectivity中有3个USART。意思为:U

STM-32:按键控制LED灯 程序详解

目录一、基本原理二、接线图三、程序思路3.1库函数3.2程序代码注:一、基本原理左边是STM322里电路每一个端口均可以配置的电路部分,右边部分是外接设备电路图。配置为上拉输入模式的意思就是,VDD开关闭合,VSS开关断开。浮空输入模式的意思就是,VDD开关断开,VSS开关断开。下拉输入模式的意思就是,VDD开关断开,VSS开关闭合。在按键控制LED灯亮灭中,必须要求配置为上拉输入模式。在按键开k1断开,及不操作的时候,上拉输入模式有VDD上拉电阻将引脚电平上拉,保证了不会出现浮动的现象。配置好了上拉输入模式,VSS开关就已经断开了,通过K1按键开关的通断来实现的。所以在这种方式下,按下K1为

STM32C0开发(1)----SPI 驱动WS2812灯珠

STM32C0开发----1.SPI驱动WS2812灯珠概述视频教学样品申请源码下载芯片级联方法数据传输时序SPI配置CPHA配置代码ws2812.cws2812.h概述本文介绍了如何使用STM32微控制器,结合STM32CubeMX配置工具和SPI通讯接口,来驱动和控制WS2812LED灯带。这是一个集硬件连接、软件配置和编程开发于一体的综合性项目,目标是实现对LED灯带颜色和亮度的精确控制。最近在弄ST的课程,需要样片的可以加群申请:615061293。视频教学https://www.bilibili.com/video/BV1X94y157W8/STM32C0开发(1)----SPI驱动

STM32 外部时钟脉冲计数实验

STM32外部时钟脉冲计数实验文章目录STM32外部时钟脉冲计数实验前言1、实验原理2、开发板原理图2、定时器工作原理框图2、主要源码3、总结前言最近在学正点原子的HAL库视频,通用定时器脉冲计数功能的实现,以前都习惯用标准库了,所以现在尝试参考HAL库的原理用标准库的思想来实现这个功能。1、实验原理本实验使用外部时钟模式1,外部输入引脚作为定时器的时钟来源。使用开发板的WK_UP按键按下产生高电平脉冲作为定时器的计数器时钟来源,计数器工作在递增计数模式,那么每来一个上升沿信号,计数器就加一。即每按下一次按键产生一次高电平脉冲,计数器加一,一直计数到ARR的值溢出从新计数。2、开发板原理图2、

蓝桥杯STM32 G431 hal库开发速成——按键+PWM综合案例——按键控制PWM驱动舵机

适用于学习了TIM输出比较(PWM)跟GPIO输入(按键)的新手作为练习的综合项目!一、PWM的概念PWM(PulseWidthModulation,脉冲宽度调制)是一种常用的技术,用于通过调节电信号的脉冲宽度(即脉冲的持续时间)来控制模拟系统的电源。在数字电子系统中,由于只能输出固定的高(通常为Vcc)或低(通常为GND)电平,PWM提供了一种有效的方法来模拟模拟信号。1.原理PWM信号是一种方波,其基本特征是频率和占空比。频率决定了脉冲重复的速度,而占空比是指在一个脉冲周期内,信号为高电平的时间占整个周期的比例。2.CRR在PWM生成中,CRR通常用于设置PWM的占空比。定时器的总周期由其

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