• 2025-01-01STM32学习之 TIM定时器
    理论知识较多,由于51学过相关知识,不赘述,江协科技视频有详细解读,CSDN博主也有详细文案笔记,视频跳转、文案跳转//STM32的通用定时器可以被用于:测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和PWM)等。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长
  • 2025-01-01FreeRTOS从入门到精通 第五章(中断管理)
    参考教程:【正点原子】手把手教你学FreeRTOS实时系统_哔哩哔哩_bilibili一、中断的回顾与深入1、概述(1)让CPU打断正常运行的程序,转而去处理紧急的事件(程序),这个过程就叫中断,受理的事件称为中断服务程序。(2)中断执行机制,可简单概括为三步:①外设产生中断请求(GPIO外部中断、定时
  • 2024-12-28【江协STM32】6-1/2 TIM定时中断、定时器定时中断&定时器外部时钟
    1. TIM定时中断1.1TIM简介TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器(执行计数定时的一个寄存器,每来一个时钟,计数器加1)、预分频器(可以对计数器的时钟进行分频,使计数更灵活)、自动重装寄存器(计数的目标值,就是想要计多少个时钟申
  • 2024-12-27HAL库教程:串口+定时器接收不定长数据适用Modbus
    串口接收到的两组数据之间,通常会有一定的时间间隔。我们可以通过判断这个间隔来实现无结束符和无固定长度的串口数据接收功能。当串口在设定的时间内没有接收到新的数据时,认为一组数据已经接收完毕。在一些通信协议中,可能会指定数据之间的间隔时间。例如,Modbus协议要求两组数
  • 2024-12-07TIM输出比较---STM
    一、简介TIM定时器:OC输出比较输出比较可以通过比较CNT与CCR寄存器(捕获/比较寄存器)值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形;每个高级定时器和通用定时器都拥有4个输出比较通道;高级定时器的前3个通道额外拥有死区生成和互补输出的功
  • 2024-11-24STM32定时器中断原理及模板代码
    ———————————————————————————————————————————主要关注预分频器和中断重装载寄存器和计数器,这三个寄存器合称为时基单元基本定时器只能使用内部时钟(频率为72MHz)预分频器:        可以用预分频器将72MHz分频    
  • 2024-11-26SpringBoot游戏玩家服务平台94g73 程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表系统内容:用户,商家,游戏陪玩,陪玩预约,游戏装备,订单信息,账号买卖,账号订单,退订单,评价信息开题报告内容项目名称:SpringBoot游戏玩家服务平台(94g73)一、项目
  • 2024-11-26HarmonyOS Next 集成 FIDO 免密身份认证实践
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中集成FIDO免密身份认证的实践过程,基于实际开发经验进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、环境搭
  • 2024-10-13#STM32#定时器扫描按键消抖#按键控制LED灯亮灭#标准库
    一.机械按键抖动在按下按键后金属弹片会来回震动影响I/O口的电平变化,影响检测和判断操作。通常抖动时间为:5ms~10ms影响:在不加消除抖动的情况下按下按键LED灯可能会出现失灵的情况,因为这时的判断按键情况通常是判断电平的高低,由于电平不停的发转,所以呀很难判断此时是否是被
  • 2024-09-17STM32智能小车--测距模块(舵机+HC_SR04超声波)
    大家好哇!我是湫湫,一个正在摸索嵌入式的普通大学生。进入正题,最近在做智能小车,想通过文章记录学习过程。本次文章主要使用 stm32F1C8T6实现小车测距。非常感谢大家的阅读,如果有不对的地方欢迎指正。目录一.实物图1.舵机2.HC_SR04:二.基本工作原理1.舵机工作原理2.
  • 2024-09-01stm32 TIM输出比较(PWM驱动LED呼吸灯&&PWM驱动舵机&&PWM驱动直流电机)
    理论1.输出比较简介OC(OutputCompare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功
  • 2024-07-3106 定时器和PWM(1)
    前言前面介绍了一下外部中断,这一节主要介绍一下内部定时器和PWM,这两个知识还是比较重要的。一、定时器1.什么是定时器定时器其实和计数器一样,我们通过设置一个值,当计数器运行一个计数寄存器向上加1或者向下减1达到这个值后,会发送一个事件,以此运行即可。这个就是定时器。2.在
  • 2024-07-23STM32F429IGT6 STMCubeMX PWM 控制 180 舵机
    设置PWM对应引脚PA2![[QQ_1721613625998.png]]定时器2受APB1控制![[QQ_1721613709674.png]]配置时钟为72MHZ![[QQ_1721613757231.png]]HAL库定义PWM/*TIM2initfunction*/voidMX_TIM2_Init(void){/*USERCODEBEGINTIM2_Init0*//*USERCODEENDTI
  • 2024-07-06WS2812b彩灯(DMA+PWM)
    一.WS2812B简介        WS2812B是一种数字可编程的LED灯条,可以使用单个数据线进行通讯控制LED灯的颜色和亮度。每个WS2812B都有一个唯一的地址,可以通过单个数据线进行级联。二.WS2812B参数简介 三.WS2812B数据通讯简介 1.级联电路2.数据传输    
  • 2024-07-02Tim定时器初始化的方法
    #include"stm32f10x.h"//DeviceheadervoidTimerInit(void){ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); TIM_InternalClockConfig(TIM2); //初始化配置时基单元 TIM_TimeBaseInitTypeDefTIM_TimeBaseInitTypeStructrue; TI
  • 2024-06-05stm32系列--低电平时间的测量
     TIM_ICInitTypeDefTIM2_ICInitStructure;voidTIM2_CH1_Cap_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1Peri
  • 2024-06-04stm32系列--PWM捕获功能
      Capture_Init(59999,120-1);//可捕获最小频率72M/(120*60000)=17*0.6=10HzPA1//TIM2_CH2PA7做为捕获通道//输入捕获能捕获到的最小的频率为72M/{(ARR+1)*(PSC+1)}voidCapture_Init(u16arr,u16psc){GPIO_InitTypeDefGPIO_InitStructure;
  • 2024-05-29stm8系列--可变频率PWM输出
     PA3STM8S003F3timer2_init();//初始化#definePUL_COUNT4000voidtimer2_init(void){TIM2_DeInit();TIM2_TimeBaseInit(TIM2_PRESCALER_8,PUL_COUNT-1);//62.5HZ2M/8/4000=62.5HZ1个数4usTIM2_OC3Init(TIM2_OCMODE_PWM1,TIM2_OUTPUTS
  • 2024-05-03回忆录——ST定时器PWM输出
    老规矩,看图说写驱动RCC开GPIO及TIM时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //开启TIM2的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE); //开启GPIOA的时钟选择时基源,配置时基单元,PSC、ARR、CNT点击查看代码 /*配置时钟源*/ TI
  • 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-10定时器
    本文结合江科大stm32教程和参考博客STM32-定时器详解。一、定时中断上图为配置流程,以配置TIM2为例,以下为配置函数:voidTimer_Init(void){ /*开启时钟*/ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //开启TIM2的时钟 /*配置时钟源*/ TIM_InternalClockCon
  • 2024-03-29stm32实现舵机速度控制
    一、舵机介绍舵机是一种常用的器件,可以用于机械臂,云台等项目中,通过pwm的占空比来调节实现舵机的旋转角度,所以首先你得会stm32输出pwm波。常用的舵机有90度舵机,180度舵机,270度舵机和360度舵机,根据你的需求来选择舵机的种类,注意一点就是360度舵机控制不了旋转角度。同时如果想要
  • 2024-03-11STM32标准库通用定时器输出比较
    STM32标准库通用定时器输出比较1.初始化voidTIM2_Init(){ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//使能TIM2时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);//使能GPIOA时钟 GPIO_InitTypeDefGPIO_InitSt