- 2024-11-04一篇文章教会你HC-SR04超声波传感器测距,附STM32代码示例
一、HC-SR04超声波传感器介绍:(1)HC-SR04(2020版本): HC-SR04(2020版本)是一款尺寸完全兼容老版本,增加UART和IIC功能的开放式超声波测距模块。默认条件下,软件与硬件完全兼容老版本HC-SR04;可以通过电阻设置成UART或IIC模式。2CM超小盲区,4.5M典型最远测
- 2024-11-04STM32(hal库)为什么中断服务函数里TIM2_IRQHandler(void)调用 HAL_TIM_IRQHandler(&timer_handle)?
STM32(hal库)为什么中断服务函数里TIM2_IRQHandler(void)调用HAL_TIM_IRQHandler(&timer_handle);而不是TIM2_IRQHandler(void)里直接写需要的程序呢?而标准库只需要在TIM2_IRQHandle里写中断需要的代码即可? 在STM32HAL库中,中断服务函数(ISR)的设计思路与标准
- 2024-10-16STM32开发————定时器的基本配置
一、将定时器相关的.c和.h添加到新建的工程中添加文件路径:二、对.c和.h文件进行代码编写打开timer.h文件,写一下防止重复包含的宏定义#ifndef__TIMER_H#define__TIMER_H#endif打开timer.c文件,包含一下STM32的头文件:“右键单机”--->Insert'#includefi
- 2024-10-13TIM定时器(标准库)
目录一.前言二.定时器的框图三.定时中断的基本结构 四.TIM定时器相关代码五.最终现象展示一.前言 什么是定时器?定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断。TIM定时器不仅具备基本的定时中断功能,而且还包含内外时钟源选择,输
- 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
- 2024-03-06STM32标准库通用定时器计数
STM32标准库通用定时器计数1.定时器初始化voidTIM2_Init(){ TIM_TimeBaseInitTypeDefTIM2_Initstructure;//定义结构体 NVIC_InitTypeDefNVIC_InitStructure;//定义结构体 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE
- 2024-02-0810_TIM编码器接口
TIM编码器接口编码器接口简介正交编码器旋转编码器简介编码器接口基本结构工作模式实例(均不反相)实例(TI1反相)编码器接口测速选择接口和定时器接线图代码Encoder.c#include"stm32f10x.h"//DeviceheadervoidEncoder_Init(void){
- 2024-02-0807_TIM定时中断
TIM定时中断TIM简介定时器类型基本定时器通用定时器高级定时器基本定时器仅支持向上计数:0->重装值->发起中断通用定时器和高级定时器支持向上计数,向下计数,中央对齐计数向下计数:重装值->0->发起中断中央对齐计数:0->重装值->发起中断->0->发起中断基本定时器只
- 2024-01-05国民技术MCU
国民技术MCU(MicrocontrollerUnit)是一种集成了微处理器、存储器、输入输出接口等硬件功能的集成电路芯片。以下是一些常见的国民技术MCU种类及其代码举例:国民技术STM32F103C8T6:这是一个基于ARMCortex-M3内核的32位MCU,具有丰富的外设和接口,适用于各种嵌入式应用。以下是一个简单的
- 2023-12-13STM32学习随笔 12.13
慢摸摸的学习之前跟着B站江协科技UP学51感觉没啥,学到STM32就感觉很吃力,又想钻研清楚,看到定时器TIM章节零零总总差不多耽搁快进一个月了总结下近期学到的东西学习掌握多元条件运算符,这样可以省略很多if()else()或者switch()case;语句示例: i-=(i>10000)?10
- 2023-09-22STM32之定时器
定时器前言需要了解的基本知识:频率(frequency):是单位时间内完成周期性变化的次数,是描述周期运动频繁程度的量,常用符号f或ν表示,单位为秒分之一,符号为s-1。赫兹(HZ):是国际单位制中频率的单位,它是每秒钟的周期性变动重复次数的计量。1MHz=1000kHz=1000000Hz。周