草庐IT

STM32学习笔记(五)433M无线发射接收模块

文章目录一、433M无线发射接收模块介绍二、编程实现一、433M无线发射接收模块介绍数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm单片机供电VCCGND接单片机接收到信号,接收模块对应针脚输出高电平有D0D1D2D3,对应遥控器的ABCD二、编程实现需求:按下遥控器A按键,LED1亮1秒;按下遥控器B按键,LED2亮1秒。D0–PA5D1–PA6//重写中断服务函数,如果检测到EXTI中断请求,则进入此函数voidHAL_GPIO_EXTI_Callback(uint16_tGPIO_Pin){switch(

STM32 系统定时器--SysTick

目录一、结构图与寄存器二、SysTick定时时间计算三、Systick-系统定时器配置程序 如何更改systick中断优先级:四、实验设计(1) 通过查询标志位来写延时函数 (2)通过使能中断来写延时函数SysTick:系统定时器,24位,只能递减,存在于内核,嵌套在NVIC中。所有的Cortex-M内核的单片机都具有这个定时器。通过系统定时器,我们可以实现精准的软件延时(毫秒、微秒级)。一、结构图与寄存器重装载寄存器:存放初始值  STK_CLK:时钟counter在时钟的驱动下,从reload初值开始往下递减计数到0(这样为一个循环),产生中断和置位COUNTFLAG标志。然后又从relo

【电机控制算法】SVPWM算法的应用(基于Simulink与STM32外设场景的仿真)

文章目录前言一、扇区判断二、各扇区基础矢量作用时间的计算1.若处于扇区I2.若处于扇区II3.若处于扇区III4.若处于扇区IV5.若处于扇区V6.若处于扇区VI7.Inaword三、STM32的外设场景1.TIMx的计数器CNT2.TIMx的输入捕获寄存器CCRx3.TIMx的两种PWM模式四、互补输出且呈中心对称的PWM对五、载波和调制波六、观察相应扇区的3对PWM波形1.扇区I2.扇区II3.扇区III4.扇区IV5.扇区V6.扇区VI7.Inaword七、Simulink编程仿真1.输入与输出2.MATLAB编程3.利用SVPWM算法的输出搭建中心对称且互补的PWM生成器4.仿真结果与

基于STM32的ADC采样序列频谱分析

  本文主要介绍对ADC采集得到的数字序列进行FFT频谱分析。确定采样率  确定采样率除了要遵守奈奎斯特采样定律意外还需要考虑一些问题。在数字系统中,我们只能进行一些有限的离散的运算,对于有限长的序列,我们不可能拿它去做DTFT,只能做DFT。这就需要把有限长序列也当作一个周期序列来看待。归一化角频率  已知采样率为fsf_sfs​,那么一个频率为f0f_0f0​(f0f0​fs​/2)的理想余弦信号被采样后得到的序列应该是:x[n]=Acos⁡(2πf0⋅nT0)=Acos⁡(2πf0⋅nfs)    n∈Zx[n]=A\cos\left({2\pi{f_0}\cdotn{T_0}}\rig

【stm32】使用STM32与LCD屏幕进行通信

目录前言LCD屏幕简介STM32与LCD屏幕通信使用并行总线协议前言STM32芯片广泛应用于各种嵌入式系统中,其中包括液晶显示器。本文将介绍如何使用STM32与LCD屏幕进行通信,并提供相关的代码示例。LCD屏幕简介液晶显示器(LCD)是一种数字显示技术,它通过在液晶屏幕上加电来控制液晶的偏振方向和透光度,从而显示图像和文字。LCD屏幕通常由多个像素组成,每个像素都包含三个子像素,分别代表红、绿和蓝三个颜色通道。STM32与LCD屏幕通信为了使STM32能够与LCD屏幕进行通信,需要了解两种协议:并行总线协议:该协议使用多根数据线同时传输多个像素的数据。这种方式可以实现高速数据传输,但需要多个

STM32 MCUISP下载 开始连接...401, 接收到: 芯片超时无应答,无法连接

问题描述常用解决方法1确保板子的BO.B1是接地的2确保开发板的PA9,PA10跳线帽是默认的与CH340的两个引脚相连(发货的时候默认就连上)3确保已经安装好了CH340驱动,4)MCUISP注意左下方:“DTR低电平复位,RTS高电平进bootloader同时注意,usb线连接板子下方的usb-232口,而不是左侧的。5波特率对于M4开发板,请选择76800,其他跟下图一样即可。下面是我个人遇到的问题板子上的ST-LINK没有拔下来,我就是没拔下来,导致无法连结。即使ST-LINK的USB接口没有插到电脑上也不行我对比下USB_232和JTAG的电路图,也没明白其中的道理烧录成功

STM32按键消抖(HAL)

目录前言一、工作原理二、按键的基本使用1.使用CubeMX配置GPIO2.编写代码 三、按键使用的问题四、软件消抖1、利用延时避免抖动 2、利用定时器中断避免抖动2.1、基本思路2.2、配置CubeMX 2.3、代码编写总结前言按键是学习STM32必不可少的一个部分,是一个典型的GPIO口输入的案例。要掌握其中的原理和使用方法。(这里我用的是f103RCT8和HAL库的示例)一、工作原理根据截取的单片机原理图可以知道,CPU连接的PA15直接连接的KEY0,当按键按下的时候导通这个条线路就会变成低电平。在程序中读取什么时候电平变为低电平就说明这个按键按下了。 但是问题点在与在我没有按下的时候,

STM32的中断系统详解(嵌入式学习)

中断系统1.基本概念2.中断的意义3.中断处理过程处理过程过程详述4.中断体系结构5.NVIC概念主要功能6.EXTI概念主要功能结构框图中断和事件的区别7.总结1.基本概念中断是处理器中的一种机制,用于响应和处理突发事件或紧急事件。当发生中断时,当前正在执行的程序会被暂时中止,处理器会跳转到中断处理程序(也称为中断服务例程),对中断事件进行处理。处理完中断后,处理器再返回到被中断的程序继续执行。中断可以分为内部中断和外部中断:内部中断:由处理器内部的模块或事件引发,例如定时器溢出、串口接收缓冲区非空等。内部中断可以用于定期执行特定任务、检测状态变化等。外部中断:由外部设备或外部信号引发,例如

STM32将数据从十六进制转换为ascii通过串口发送显示

/*****************************************************************************名 称:charHexToAscii(u8nHex)*功 能:单个16进制转ASCII码 *入口参数:nHex 0x0A-0x0F.0x00-0x09*出口参数:转换后的ASCII码*说 明:16进制0x0A-0x0F.0x00-0x09转ASCII码A-F.0-9****************************************************************************/charHexToAs

STM32-ADC电压采样实验(寄存器版)

STM32F10X系列支持三路ADC,其ADC通道及对应IO口如下表所示:其能接受的电压输入范围一般为0-3.3V(VREF-≤VIN≤VREF+),因此,如果需要测量超出0-3.3v量程范围的电压数据,需要在外围硬件增加分压电阻,将电路转换到0-3.3V量程范围内再进行采集。引脚配置这里用于做ADC采集的引脚使用单片机的PC1,将引脚配置为模拟输入模式。voidADC_GPIO_INIT(void){SET_BIT(RCC->APB2ENR,RCC_APB2ENR_IOPCEN);//开GPIOC端口时钟GPIOC->CRL&=~(0xfADC采样与中断配置本次实验使用中断进行对ADC的连续