草庐IT

KEIL无法识别STM32芯片报错

打开KEIL里的options,找到debug里的settings,将Connect和Reset配置如下图,再烧录程序就不会报错了

【STM32】TIM定时器编码器

1 编码器接口简介EncoderInterface编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度接收正交信号,自动执行CNT自增或者自减,编码器接口相当于带有方向控制的外部时钟,同时控制着CNT的计数时钟和计数方向。每隔一段时间去取一次CNT的值,再把CNT清零,每次取出来的值就表示编码器的速度。(测频法)每个高级定时器和通用定时器都拥有1个编码器接口两个输入引脚借用了输入捕获的通道1和通道2(CH1和CH2)1.1 正交编码器正交编码器一般可以测量位置或者带有方向的速度值旋转编码器:用来

【STM32F429】HAL库的PWM中断,精确控制脉冲数,控制步进电机

这两天在调步进电机,希望是使得步进电机每次都达到期望的高度。在查了一天的资料,发现大部分上传的资料都是使用CubeMX生成的,可复制性很高,但未免有失可读性,故上传我的心得经验。本来原子哥的例程里有整合度很高的,已经封装好的精确控制步进电机前进距离的函数。无奈例程使用了高级定时器TIM8,TIM8需要复用的引脚会影响到CAN的通讯,无奈自行研究,最终决定通过PWM中断,计数脉冲数,以此实现精确控制步进电机的步距角。话不多说,先谈谈我遇到的坑吧,我个人算是新手,所以在一开始调步进电机时,连初始化和基本步骤都不是很明白,所以下文会从最基础的地方开始。第一次我选择了定时器4的通道2作为PWM的输出口

【STM32】STM32学习笔记-TIM输入捕获(17)

00.目录文章目录00.目录01.输入捕获简介02.频率测量03.输入捕获通道04.主从触发模式05.输入捕获基本结构06.PWMI基本结构07.其它08.附录01.输入捕获简介IC(InputCapture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量02.频率测量03.输入捕获通道04.主从触发模式05.输入捕获基本结构06.PWMI基本结构07.其它0

STM32CubeMX教程2 GPIO输出 - 点亮LED灯

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)2、实验目标使用STM32CubeMX软件配置STM32F407开发板点亮LED灯3、实验流程3.0、前提知识笔者使用的STM32F407G-DISC1开发板主控制器为STM32F407VGT6,该MCU封装为LQFP100,一共100个引脚,除去16个POWER引脚、1个NRST引脚和一个BOOT0引脚外,还剩余82个引脚,剩下的这些引脚均可以作为GPIO输入输出引脚使用,这些引脚分为6组,分别为GPIOA、GP

STM32CubeMX教程2 GPIO输出 - 点亮LED灯

1、准备材料开发板(STM32F407G-DISC1)ST-LINK/V2驱动STM32CubeMX软件(Version6.10.0)keilµVision5IDE(MDK-Arm)2、实验目标使用STM32CubeMX软件配置STM32F407开发板点亮LED灯3、实验流程3.0、前提知识笔者使用的STM32F407G-DISC1开发板主控制器为STM32F407VGT6,该MCU封装为LQFP100,一共100个引脚,除去16个POWER引脚、1个NRST引脚和一个BOOT0引脚外,还剩余82个引脚,剩下的这些引脚均可以作为GPIO输入输出引脚使用,这些引脚分为6组,分别为GPIOA、GP

STM32学习笔记十五:WS2812制作像素游戏屏-飞行射击游戏(5)探索动画之帧动画

本章又是个重要的章节——动画。动画,本质上时一系列静态的画面连续播放,欺骗人眼产生动画效果。这个原理自打十九世纪电影诞生开始,就从来没变过。我们的游戏中也需要一些动画效果,比如,被击中时的受伤效果,击毁效果,血包的动画效果等等。这些动画分为两类:连续线性动画、离散的帧动画。离散动画,就是在指定的时间点,将目标变量设定为特定的值。连续动画,就是除了两个特定时间之外,通过插值算法为中间帧设定中间值。这两者的时间轴都应不受系统处理能力的影响,所以,我们又想到了tick。我们先从简单的开始,先做个帧动画。设定飞机被击中时,变为红色,1秒后恢复,单次动画不重复。1、先定义一个动画基类:Animation

基于STM32F103单片机控制HT1621驱动学习记录(可查询未知屏的断码值)

一、驱动原理1.HT1621原理①中文技术手册:中文版HT1621B​​​​​②根据技术手册上的时序图分析出HT1621驱动的基本流程CS-WR-DATA引脚初始化(设置为推挽输出模式)➡CS引脚置低(片选使能)➡DATA线写命令(发送100进入命令模式)➡DATA线写地址➡DATA线写数据➡CS引脚置高➡结束二、驱动代码#include"stm32f10x.h"#include"CS1621.h"#include"Delay.h"/*********************************************************************io口初始化,因为PB3

STM32CubeMX工程配置——以STM32F103C8T6为例

之前的博客《STM32CubeMX开发环境搭建及示例》已经搭建好了开发环境,但是在开发的过程中总是忘记STM32CubeMX是如何配置工程的,所以这里随手记录一下,本篇博客会随着自己的学习不定时更新。STM32CubeMX工程配置——以STM32F103C8T6为例下载接口配置晶振配置生成工程串口配置基本配置重定向printf到串口1ADC配置单通道模式多通道模式DMA配置IIC配置CAN配置基本配置使能CAN中断编写CAN1收发测试代码定时器配置下载接口配置晶振配置我之所以这么选择,是因为我在HighSpeedClock这个接口上外接了一个8Mhz的晶振生成工程copyallusedlibr

foc学习笔记3——电流环

foc学习笔记3——电流环电流环的作用​前文不断强调,进行磁场定向控制需要控制的是电流而非电压,只是因为我们没有办法直接去控制电流才暂时退而求其次地去控制电压。虽然电压控制的效果也还不错,但由于电机不是单纯的阻性负载,所以控制电压并不能得到一个完美的效果。终极目标是控制电流,没有电流控制的foc不能叫foc,所以电流环最本质的作用是什么就不用多说了吧。注:虽然框图中含有编码器,但它并不是电压控制的反馈环节,仅用来获取转子电角度,所以称其为开环控制。​对于其他方面的作用,说一说自己的理解:(1)让id尽可能地接近0,提高效率​使用电压开环控制时,由于种种原因,id并不是一直为0,可能存在偏移或是