草庐IT

STM32 学习(系统滴答定时器)

一、Systick介绍Systick的信号来源于系统时钟,不分频为168MHz,8分频为21MHz,从下图的时钟树就可以看出来。---这是F4的,,F1的位72MHz的😡F10系列的滴答时钟---72Mhz二、4个寄存器控制SysTick定时器♈控制及状态寄存器(CTRL)因为是查询式,所以我们不用第1位0位(打开滴答时钟)2位(选择时钟源,我们一般选择外部时钟源)16位(查看是否数到了零)♈重装载数值寄存器(LOAD)        这个寄存器就比较简单了,这个就是重新向滴答时钟里加载计时次数,可以看到总共有24位可设置,所以重新加载值最大不能超过24位。♈当前数字寄存器(VAL)这个寄存器

学习阶段单片机买esp32还是stm32?

最近看到一个问题,原话如下:如果为后面找工作的做铺垫的话,闭眼冲STM32,更通用。ESP32适合工作用到了WiFi和蓝牙功能需求时,再针对性学习。从行业应用来说,STM32更加广泛,不管是工业控制,汽车电子,还是消费电子。如果项目需要用到WiFi+蓝牙功能,那用ESP32会很合适。如果对于找工作来说,其实掌握哪种单片机都无所谓,最主要的是你做过哪些具体的行业应用(项目),这才是核心竞争力。如果学STM32的话,我建议直接通过项目学,效率高一点。就像开车一样,不一定非要把车所有功能都摸透,才能把车开走,知道挂挡、踩油门、踩刹车、控方向都够了。随着不同的路段,不同的需求,再针对性去学习别的功能,

STM32—系统定时器

1.SysTick简介SysTick是一种系统定时器,可以用于实现操作系统、任务调度、时钟管理等功能。它通常集成在微控制器中,并且是硬件实现的,具有高精度和可靠性。在ARMCortex-M处理器中,SysTick定时器可以配置为计数器模式或外部时钟模式。在计数器模式下,SysTick定时器使用内部时钟作为时基,可以产生中断,以实现系统的定时功能和任务调度。在外部时钟模式下,SysTick定时器使用外部时钟信号作为时基,可以用于协调外部设备的时序和同步。SysTick定时器通常具有以下特点:1.高精度:SysTick定时器通常可以提供高精度的计时功能,以满足实时应用的要求。2.灵活性:SysTi

STM32控制数码管从0显示到99

首先先画电路图吧!打开proteus,导入相关器件,绘制电路图。如下:(记得要保存啊!发现模拟一遍程序就自动退出了,有bug,我是解决不了,所以就是要及时保存,自己重画几次就长记性了,我是不想重画了,所以我及时保存了。)第二步打开CubeMX,新建工程,配置时钟和GPIO,如下:第三步先来了解一下数码管的十六进制码的来源,我自己画了个图,我看着挺明白的,不明白的自己想,想明白了画出来就明白了,其实很简单的,就是给电就亮,断电就灭而已。废话不说了,看图:最后得出共阳极的断码为:{0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}接下来就是修改ke

STM32/GD32学习指南-踩坑之(五)串口收发数据的三种方式:UART接收中断、UART+DMA空闲中断、UART+DMA超时中断,接收不定长数据,纯干货,有史以来最详细的讲解,附源码

一、串口收发功能介绍        常用的串口收发数据的方式一共两种,一种是不使用DMA,直接串口中断收发数据,另外一种是通过串口+DMA收发数据。1.串口接收数据:        对于使用DMA的串口数据收发,一般常用的还可以分为串口接收超时中断和串口空闲中断,所以细分的话,常用的主要有以下三种方式的串口数据接收使用方法:(1)直接串口中断接收数据:        也就是串口data寄存器非空即触发中断,中断标志为:USART_INT_RBNE;该种方法每接收一个字节的数据就会触发一次串口接收中断,当串口接收数据量小或是系统性能要求不高的情况下可以使用,如果串口接收数据量很大,频繁进入串口接

STM32 CubeMX学习实验13:定时器输入捕获获取PWM频率

一、工程配置使用定时器5作为输入捕获定时器,将通道1(PA0)设置为输入捕获,设置预分频器和计数值,这里设置为1us计数一次,最大可以捕获周期为0xFFFFFFFFus的PWM,所以一般不需要考虑溢出的问题,使能自动重装载。使能定时器中断,选择合适的优先级,  将引脚设置下拉,保证没有信号输入时保持电压的稳定,最大输出速度选择高。 在这里在这里可以选择任意定时器输出PWM,便于检验输入捕获的准确性,将TIM14通道1设置为PWM输出,频率为100Hz,其他默认即可。二、代码初始化和捕获实现在主函数中开启定时器捕获和更新中断,更新中断本例未使用到,根据需求开启。开启TIM14通道1,用于输出PW

keil5自带“串口模拟器“调试打印(stm32)

 打开软件调试代码编写串口程序开始编译view菜单->serialWindows->uart1#->全速运行 

stm32 定时器部分(定时中断)

一.定时中断(概念部分)定时中断主要包含两种中断一种是更新中断还有一种是输入捕获中断更新中断:更新中断通常用于定时器的基本定时功能。当定时器计数器溢出并重新从零开始计数时,会触发更新中断。你可以配置定时器的计数周期和预分频器来控制定时器的计时时间。更新中断允许你执行一些操作,比如更新某些变量、执行周期性任务或控制外部设备。输入捕获中断:输入捕获中断用于测量外部事件的时间间隔。当外部事件触发定时器捕获通道时,输入捕获中断可以捕获定时器的当前值,并允许你计算时间间隔或频率等参数。定时器定时中断是一种常见的应用场景,它允许你在一定时间间隔内触发一个中断服务程序。在STM32微控制器中,你可以使用定时

STM32使用SPI通信时的一些常见问题及解决方法(主,从)

    最近在做一个多MCU的项目时,MCU之间的数据传输使用了SPI通信,在做从机时遇到了一些“疑难杂症”,研究了半天,总算是把故障排除了,就又总结了一下SPI常遇到的几种问题写出来整理一下。目录一、SPI简介: 二、常见问题:三、疑难杂症:Q1:使用的HAL库,先开从机,然后再给主机上电,通信正常,但是同时上电,即便是给主机加了延时都通信异常。Q2:使用的DMA收发,单独测试一切正常,但是只要跟其他DMA同时使用就死机四、SPI的稳定性优化:一、SPI简介:    SPI是一种高速,全双工的串行通信协议,由Motorola首先提出,其通信速率可轻松超过10Mbps(详见文章:STM32初学

【电赛电力电子方向】STM32输出SPWM波

文章目录摘要调制分类双极性调制单极性调制单极性倍频STM32上实现spwm调制正弦波的获取查表法(空间换时间)定时器中断运算实践CUBEMX配置代码摘要在电机控制,PWM整流器,逆变器中都需要单片机输出SPWM波去控制.图0调制分类对于单相整流,逆变器有双极性调制,单极性调制,单极性倍频调制。双极性调制图1直接将整个正弦波放在三角波里做比较。图2全桥输出波形(占空比按正弦幅值变化).这个波经过LC滤波后就变成正弦波了。图3matlab里搭出的双极性调制,后面写代码也是参考这个。0.7是调制度。前面输进去的正弦波是从-1到0再到1的正弦波。将其抬高1,整个波形就只有正的,然后再除2就成了图1中的