• 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;/*
  • 2023-03-24STM32F103 UCOSIII 加入DS18B20温度传感器 解决不能正常读数问题
    前言:在UCOSIII中加入DS18B20后,会发现检测出的数字特别大,而且波动很大就是一些无规则随机数一样,裸机运行明明是没问题的(这个问题困扰了3天),网上查了一下,发现出现此问题的不
  • 2023-03-21STM32MIN开发板超声波传感器关联PWM输出
    使用L298N对RGB灯珠进行供电,这里RGB灯珠可以换成电机来控制,因为电机声音不较大,不好操作,这里我用灯珠来替代效果基本上一样。使用串口打印获取超声波传感器获取到的数据,这里
  • 2023-02-25stm32f407探索者开发板(二十二)——通用定时器基本原理讲解
    文章目录​​一、三种定时器的区别​​​​二、通用定时器特点​​​​2.1功能特点描述​​​​2.2计数器模式​​​​三、通用定时器工作过程​​​​四、附​​一、三种
  • 2023-02-05stm32 PWM驱动步进电机
    项目:stm32PWM驱动步进电机代码:StepperMotor.c#include"stm32f10x.h"#include"PWM.h"//PA4(AIN1),PA5(AIN2)步进电机GPIO端口初始化voidStepperMotor_Init(vo