自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 中断函数实现delay

【代码】中断函数实现delay。

2024-07-30 08:50:27 178

原创 函数的理解

函数中,当您传递int Pwm1和int Pwm2作为参数时,这些参数是按值传递的。这意味着函数内部对这些参数所做的任何修改都不会影响到函数外部的原始变量。

2024-07-27 22:27:32 205

原创 指针的理解

修改的是函数内部的局部变量,不影响外部的 `pwm`,我再想想怎么说,就是说商家说这个东西10yuan,再看你一眼之后发现是你是大舅的老婆的亲戚家的孩子,然后悄咪咪的给你说亲戚价给5yuan,别人可都是10yuan。这个是直接取pwm的地址,怎么说呢,你想去买菜 ,哈,老板在卖东西,你一看老板是熟人还在你家隔壁,你直接说帮我留着,就去买其他的了,等到你想用了,直接去取他家的地址取。自己理解的,不知对不对。

2024-07-24 23:04:21 248

原创 stm32的ADC理解

ADC是模拟-数字转换器(Analog-to-Digital Converter)的缩写,它是一种电子设备,用于将模拟信号转换为数字信号。这种转换对于现代电子系统中的数字处理至关重要,因为数字电路和微处理器只能处理数字信号。

2024-06-09 18:46:33 2415 1

原创 编码器接口原理部分

这个编码器接口,其实就相当于是一个带有方向控制的外部时钟。它同时控制着CNT的计数时钟和计数方向。这样的话,CNT的值就表示了编码器的位置。如果我们每隔一段时间取一次CNT的值,再把CNT清零。是不是每次取出来的值就表示了编码器的速度。这个编码器接口计次更高级,它能根据旋转方向,不仅能自增计次,还能自减计次,是一个带方向的测速。编码器的两个输入引脚,就是每个定时器的CH1和CH2引脚,CH3和CH4,不能接编码器。

2024-06-06 15:51:33 899

原创 stm32输入捕获keil代码步骤

2. **PLL(相位锁定环)分频**:在STM32中,PLL可以用于将时钟频率乘以一个因子(倍频),也可以通过分频器进行分频,以生成所需的系统时钟频率。3. **定时器和计数器分频**:STM32的定时器和计数器可以配置分频器,以降低输入时钟的频率,从而实现更慢的计数速度或更精细的时间控制。1. **时钟源分频**:将外部时钟源(如外部晶振或外部时钟)的频率降低,以适应微控制器内部时钟的要求。5. **USART(串行通信)时钟分频**:USART模块可以配置分频器,以调整串行通信的波特率。

2024-06-06 14:15:09 606

原创 TIM输入捕获

选择从模式的触发信号源的,可以认为是从模式的一部分,触发源选择,选择指定的一个信号,得到TRGI,TRGI去触发从模式,从模式可以在列表中,选择一项操作来自动执行。CCR1就是一整个周期的计数值,CCR2就是高电平期间的计数值,我们用CCR2/CCR1,是不是就是占空比了。主模式可以将定时器内部的信号,映射到TRGO引脚,用于触发别的外设,所以这部分叫做主模式。就是接收其他外设或者自身外设的一些信号,用于控制自身定时器的运行,也就是被别的信号控制。这里,我们可以基于参考文章中的信息,详细解释它们的关系。

2024-06-06 09:22:04 892

原创 stm32中PWM代码部分

1.OC就是Output Compare,输出比较2.这个是用来配置强制输出模式的3.这四个函数是用来配置CCR寄存器的预装功能的,预装功能就是影子寄存器4.这四个函数是用来配置快速使能的5.外部事件时清除REF信号6.这些就是用来单独设置输出比较的极性的。这里带个N的就是高级定时器里互补通道的配置7. 是用来单独修改输出使能参数的8.这个是用来单独更改输品比较模式的函数9.四个是用来单独更改CCR寄存器值的函数

2024-06-05 15:09:20 248

原创 了解STM32中的PWM

用的是PWM1模式

2024-06-02 19:28:54 130

原创 了解STM32中的定时中断代码部分

1.使能计数器2.使能中断输出信号3. 选择内部时钟4.选择ITRx其他定时器的时钟5.选择Tx捕获通道的时钟6.时基单元7.ETR外部时钟8.选择ETR通过外部时钟模式2输入的时钟9.单独用来配置耵ETR引脚的预分频器、极性、滤波器这些参数的10.调用预装还是无预装的函数11.手动给计数值12.手动给自动重装值13.查看计数值14.获取当前预分频器的值15.获取

2024-06-01 22:05:42 243

原创 了解stm32中的Encoder

假设你有一个计步器来跟踪你每天走的步数。每天结束时,你想知道你走了多少步,所以你看一眼计步器,记下步数,并将计步器重置为0。这样,第二天你再次查看计步器时,它显示的是新的一天你走的步数,而不是从你买回计步器以来的总步数。在旋转编码器的设计中,A相和B相的输出信号是经过特定设计的,以便能够检测到旋转的方向和速度。因此,可以明确地说,AB相的下降沿不是同时发生的,它们之间存在一个九十度的相位差。如果把一相的下降沿作为触发中断,在中断时刻读取另一相电平 正传就是高电平,反转就是低电平。

2024-06-01 20:40:38 336

原创 了解stm32中的外部中断

我们程序中的中断函数,它的地址是由编译器来分配的,是不固定的.但是我们的中断跳转,由于硬件的限制,只能跳到固定的地址执行程序,所以为了能让硬件跳转到一个不固定的中断函数里面,就需要在内存中定义一个地址的列表这个列表地址是固定的,中断发生后,就跳到这个固定位置然后再这个固定位置,由编译器,再加上一条跳转到中断函数的代码,这样中断跳转就可以跳到任意位置了这个中断地址的列表,就叫做中断向量表,相当于中断跳转的一个跳板,不过我们用C语言编程的话,是不需要管这个中断向量表的中断响应正常流程,触发中断。

2024-06-01 13:01:27 1939

原创 了解STM32中的OLED

在STM32中驱动0.96寸的OLED显示屏时,通常可以选择推挽输出来驱动SPI或IIC等数字接口。然而,在选择输出模式时,需要确保电压兼容性和满足特定的电气特性要求。如果不确定如何选择输出模式,建议参考OLED显示屏的数据手册和STM32的参考手册进行详细分析和设计。根据参考文章3和4,0.96寸的OLED显示屏通常支持多种接口方式,包括SPI(4线)、IIC(2线)、6800、8080等。在STM32中,对于0.96寸的OLED显示屏,是否选择推挽输出主要取决于硬件电路设计和OLED显示屏的接口要求。

2024-05-31 11:44:33 501

原创 STM32中需要要到的C语言基础

定义宏定义不用分号。

2024-05-30 16:24:49 216

原创 了解STM32中的GPIO

输出模式输入模式如果控制功率太大的设备,加入驱动电路即可推挽输出中 P-MOS 和N-MOS均有效推挽输出,数据寄存器为1时,上管导通(P-MOS),下管断开(N-MOS),输出接到VDD,输出高电平推挽输出,数据寄存器为1\0时,上管断开(P-MOS),下管导通(N-MOS),输出接到VSS,输出低电平这种模式下高低电平都有较强的驱动能力,所以推挽输出模式也可以叫强推输出模式。在推挽输出模式下。STM32对IO口具有绝对的控制权,高低电平都由STM32说的算。

2024-05-30 11:05:23 1157

原创 TIM定时器

比如你要做一个时钟、秒表、或者一些算法之类的时候,就要用到这个定时器。输出比较这个模块最常见的用途就是产生PWM波形,用于驱动电机等设备,例如用来驱动舵机和直流电机的例子。

2024-05-25 21:15:24 731

原创 pid算法

stm32直立环是调整机械中值的(给个初始1000或900注意极性!观察它们的在那个角度开始发力,±2之间就可以了,要是太高或太低就调整机械中值,然后初始Kd给个3左右,最后同时乘以0.6)速度环是调整范围的(起始值不能给太高,给个Kd0.3左右就可以了,Ki除以200)

2024-05-18 16:18:53 1782

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除