• 2024-10-18二、STM32F103C8T6-定时器
    STM32F103C8T6定时器概述STM32F103C8T6作为一款广泛使用的微控制器,内置多个定时器,能够支持多种计时和控制功能,如精确延时、脉冲宽度调制(PWM)、捕获比较(Capture/Compare)、输入捕获和输出比较等。这些功能在电机控制、信号测量、周期性事件触发等应用中非常常用。STM32F103C8T
  • 2024-10-12嵌入式——PWM
    本文主要介绍了什么是PWM,PWM的基本结构,PWM波的生成过程,如何用代码生成PWM波以及通过示波器观察生成的PWM波形。前期准备:32芯片、示波器。一、PWM的概念1.引言关于PWM,常听到的有“用示波器抓PWM波啊”“PWM的占空比”……这些都是啥,我很好奇,所以我去学习了PWM波,知道了什么
  • 2024-10-11【STM32开发之寄存器版】(八)-定时器的编码器接口模式
    一、前言1.1编码器接口原理编码器模式主要用于检测旋转编码器的转动方向和转动速度。旋转编码器一般输出两路相位相差90度的脉冲信号(称为A相和B相),通过这两路信号,定时器可以判断编码器的旋转方向,并计数转动的脉冲数。1.2本次DEMO目标本次DEMO将使用STM32F103ZET6的PA6(
  • 2024-10-11【STM32开发之寄存器版】(七)-PWM脉冲宽度调制
    一、前言PWM简介PWM(脉宽调制)是一种通过调节信号的脉冲宽度来控制功率输出的技术。其基本原理是保持固定频率的信号,将其高电平和低电平的持续时间调整,达到控制平均功率的目的。应用方面,PWM广泛用于电机控制、LED调光、音频放大、以及电源管理等领域,因为它能有效提高能效并减
  • 2024-09-26控制舵机转动
    voidmotor_config(void){   //定义并初始化GPIO和定时器配置的结构体   GPIO_InitTypeDefGPIOMotorinit;   TIM_TimeBaseInitTypeDefTIMMotorinit;   TIM_OCInitTypeDefTIMPWMMotortinit;     //使能GPIOB端口的时钟(因为我们将使
  • 2024-09-25STM32入门之定时器输入捕获部分
            IC输入捕获,与输出比较一样也有有四个通道,分别与输出比较共用4个CCR寄存器,通过通道输入电平信号,我们可以检测到电平跳变,然后将CNT的值锁存到CCR寄存器中,实现测量频率,占空比,用于电机测速等。那我们首先来介绍一下测量频率的原理         频率测量的
  • 2024-09-11ALIENTEK电容按键按键的介绍与驱动代码
    目录前言电容触摸按键原理 硬件接线检测电容触摸按键过程驱动代码 tpad.htpad.cmain.c 前言我没有独立的电容触摸按键模块,所以使用正点原子STM32F103ZET6精英版开发板上的电容触摸按键。采用STM32F103C8T6检测电容触摸按键,代码为正点原子精英版开发板移植。电
  • 2024-09-01STM32 TIM输入捕获(输入捕获模式测频率&&PWMI模式测频率占空比)
    理论1.输入捕获简介IC(InputCapture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和
  • 2024-08-27ARM体系结构和接口技术(十一)定时器中断实验
    文章目录一、实验分析二、RCC章节:找到外设基地址并使能外设控制器时钟源1.RCC2.GICC和GICD3.TIM3三、TIM3章节(一)CR1寄存器(二)DIER寄存器(三)SR寄存器(四)PSC寄存器(五)ARR寄存器四、GIC章节(一)查看TIM3中断的中断号(二)GICD1.GICD_CTLR2.GICD_ISENABLERx3.GICD_ICPENDRx4.
  • 2024-08-0207 输入捕获和编码器接口
    前言前面介绍了定时器和输出比较,这一节主要介绍一下输入捕获测量输入频率和PWM占空比,然后介绍一下编码器接口。一、输入捕获1.什么是输入捕获当输入的引脚有指定电平跳变时,会将计数器CNT中的值保存在CCR中,这个就称为输入捕获。2.输入捕获测频率我们可以通过获取输入的值来测
  • 2024-07-18嘉立创暑期训练营——温湿度检测仪
    1.引言        本次暑假参加了立创EDA的训练营,在备战电赛的同时完成了训练营的基本内容,在于锻炼自己的能力。 2.原理图和PCB        闲话少续,直接上正片。原理图 PCB 原理图和PCB都可以按照立创EDA的教程。连接我就放在这了:https://www.bili
  • 2024-06-10嵌入式浅谈之“梯形”加减速MCU算法实现
    书接上回,上章我们讲到原理,本章我们来聊聊实现。在笔者的实际项目经历中,梯形加减速运用的比较广泛,主要以其优秀的加减速能力、对算法实现资源的需求较小、实现难度适中而被广泛应用。下面就简单介绍一下基于MCU的算法实现过程,以STM32为例。采用“梯形”加减速算法,在运动过
  • 2024-06-05stm32系列--同一定时器双通道捕获
     voidTIM3_Cap_Init(u16arr,u16psc)//定时器3通道2输入捕获配置{TIM_ICInitTypeDefTIM_ICInitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;R
  • 2024-04-11sumulation_Uart_Send_Data
    voidsumulation_Uart_Send_Data(void){ uint8_ti=0,j; uint8_ttemp=0; OUTPUT_LOW_LEVEL(); delay_us(1500); for(i=0;i<4;i++)//四个字节 { temp=myusart.rcbuf[i]; for(j=0;j<8;j++) { PA12_OUT^=1;//异或就是取反; if(temp&0x80)//先发送第七位 {
  • 2024-04-03FreeRTOS中断管理以及实验
    FreeRTOS中断管理以及实验继续记录学习FreeRTOS的博客,参照正点原子FreeRTOS的视频。ARMCortex-M使用了8位宽的寄存器来配置中断的优先等级,这个寄存器就是中断优先级配置寄存器,STM32寄存器中并且这个寄存器只使用[7:4],所以具体表达优先级的位数如下图所示:STM32的中断优先
  • 2024-03-20学习STM32第八天
    TIM基础1、TIM编码器接口通过定时器的编码器接口进行自动计次,之前的编码器计次是通过触发外部中断然后在中断函数中进行计次,当测量的是高速旋转的电机时,则每秒会产生成千上万个中断,程序会频繁进入中断但是中断所完成的任务又仅仅是简单的加一减一,极大地浪费软件资源。使用
  • 2024-03-18STM32 TIM3 定时器应用之数码管显示定时时间
     实现目标1、STM32基于HAL库定时器的使用;2、加强数码管的学习。一、定时器概述?1、生活中哪些场景会用到定时器?2、STM32F1定时器二、原理图设计三、STM32CubeMX配置1.定时器时钟配置2.定时器3、数码管、蜂鸣器的配置  3.开启定时器3中断四、程序
  • 2024-02-24循迹小车驱动
    1.PWM2.USART3.GPIO4.ADC技术部分EXITHC_SR04中断定时器EXIT外部中断属于外设可监测GPIO口的电平信号触发方式上升下降双边PB7与PA7不能同时使用中断与AFIO有关中断引脚选择器只会选择其中一个中断暂停当前正在运行的程序。转而处理中断程序,处理完成后返回原来
  • 2024-02-19通过中断捕获引脚高电平持续时间
    include"stm32f10x.h"//Deviceheaderexternuint16_tNUM;intflag=0,times;voidIC_Init(void){RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//开启时钟GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Mode=
  • 2023-12-20通用定时器及定时器中断实验
    定时器:顾名思义是用来定时的一个外设。stm32有八个定时器,分三类计数器计数模式又分为三种:向上,向下,向上/下计数。向上:计数器从零计数到自动加载值,然后重新从零开始并产生一个计数器溢出事件。向下:计数器从自动加载值计数到零,然后重新从自动加载值开始并产生一个计数器溢出事件
  • 2023-11-242023版 STM32实战6 输出比较(PWM)包含F407/F103方式
    输出比较简介和特性-1-只有通用/高级定时器才能输出PWM-2-占空比就是高电平所占的比例-3-输出比较就是输出不同占空比的信号 工作方式说明 -1-1-PWM工作模式  -1-2-有效/无效电平 有效电平可以设置为高或低电平,是自己配置的 周期选择与计算 周期=重装载
  • 2023-07-19PWM点灯
    目录PWM脉冲宽调点灯前言1.什么是PWM2.PWM的实现3.PWM实现步骤(通用定时器)3.1打开定时器的时钟3.2配置端口3.3设置定时器3.4设置PWM3.5完整代码4.PWM实现步骤(高级定时器)5.开始点灯6.PWM呼吸灯PWM脉冲宽调点灯前言对于灯等来说有很多种方法,前面介绍了一些基础的点灯方法,比如
  • 2023-07-18STM32定时器PWM
    个人估计理解这个图片就差不多明白PWM了。用定时器的加减也一样使用PWM的时候要看PWM的相关IO引脚。CH1-CH4对应OC配置的OC1-OC4频率计算可以看前面的定时器文章。PWM配置过程:1:初始化相关的PWM引脚2:初始化配置定时器   TIM_TimeBaseInit(TIM3,&TIM3_TimeBaseInitStruct);3:配置O
  • 2023-07-1000-平衡车
    一、平衡车项目硬件准备1.电机驱动模块TB6612VM-------12VVCC-------5VSTBY------5VPWMA----PA3PWMB----PA2AIN1----PB14AIN2----PB15BIN1----PB13BIN2----PB12AO1---M+AO2---M-BO1---M-BO2---M+2.编码电机电机M1M+---BO2M----BO1A---PA6——TIM3_CH1 B-
  • 2023-04-14STM32引脚复用与重映射(HAL库)
    根据我最近做的实验,我举出下面例子例:部分重映射,我用来把TIM3_CH2重映射到PB5上PinnameTypeMainDefaultRemapPB5I/OPB5I2C1_SMBA/SPI3_MOSI/I2S3_SDTIM3_CH2/SPI1_MOSI1GPIO_InitTypeDefgpio_init_struct;/*