自定义博客皮肤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)
  • 收藏
  • 关注

原创 STM32 AD多通道

AD多通道指的是具有多个模拟输入通道的模数转换器(ADC,Analog to Digital Converter)。这意味着MCU可以同时接收来自多个模拟信号源的输入,并将它们转换为数字信号进行处理。AD多通道使得MCU可以同时获取多个模拟信号,适用于需要采集多个传感器数据或监控多个模拟信号的应用。通过使用AD多通道功能,开发人员可以实现更复杂的数据采集和处理任务。AD多通道在AD单通道的基础上,修改一下函数内容就可以实现了。

2024-07-19 11:07:23 207

原创 STM32 AD单通道(测电压)

在STM32系列中,AD(Analog to Digital)单通道指的是单个模拟输入通道,用于将模拟信号转换为数字信号。这意味着MCU可以接收来自单个传感器或其他模拟信号源的输入,并将其转换为数字形式供处理和分析。AD单通道可以用于各种应用,如数据采集、传感器读取和控制系统等。STM32系列提供了多个型号和配置,以满足不同应用的需求。1.打开时钟 记得初始化ADCCLOCK分频器。2.配置GPIO 把GPIO模拟输入的模式。3.配置多路开关 选择规则组的输入通道。分为AD.c和AD.h。

2024-07-19 11:01:37 305

原创 STM32 编码器接口测速

对于使用STM32微控制器来进行编码器接口测速,您可以使用定时器和输入捕获功能来实现。您可以配置一个定时器作为编码器输入的计数器,然后使用输入捕获功能来捕获编码器的计数脉冲。通过测量计数脉冲的时间间隔,您可以计算出编码器的速度。主要的函数包括Time.c和Encode.c。2.配置GPIO TIM3。5.配置编码器接口模式。4.配置输入捕获单元。

2024-07-17 20:11:43 224

原创 STM32 输入捕获模式测频率

在STM32微控制器上,输入捕获模式是一种常用的功能,可用于测量外部信号的频率、脉冲宽度、周期等。通过配置定时器的输入捕获通道,可以捕获外部信号的边沿,并以定时器的时钟频率为参考来计算信号的参数。在输入捕获模式下,可以通过捕获对比功能来捕获外部引脚的信号变化。当引脚上的信号发生上升沿或下降沿时,定时器会记录捕获寄存器的值。通过比较相邻两次捕获的值,可以计算信号的周期,从而确定频率。通过适当配置定时器和输入捕获通道,可以实现精准的频率测量。主要函数分为PWM.c和IC.c。6.配置从模式为Reset。

2024-07-17 09:11:51 163

原创 STM32 PWM驱动直流电机(自制夏天小风扇)

要驱动直流电机,首先您需要配置 STM32 的 PWM 模块,设置适当的频率和占空比。然后,将输出连接到电机的驱动模块或直接与电机连接。通过调整 PWM 的占空比,可以控制电机的转速,从而控制车的速度和方向。PWM(脉冲宽度调制)可以用来控制直流电机的速度和方向。通过使用 STM32 单片机的 PWM 模块,可以轻松地驱动直流电机。PWM.c 配置时钟源、时基单元初始化、输出比较初始化和开启定时器。OLED.c显示风扇的速度(之前的发的博客有,在这里就不展示了)Motor.c配置直流电机的引脚和方向速度。

2024-07-16 20:01:53 775

原创 STM32PWM驱动舵机(制作机械臂基础)

驱动舵机通常需要产生特定频率和占空比的PWM信号,以控制舵机转动到指定的位置。在STM32微控制器中,可以使用其内置的PWM模块来生成这样的信号,从而实现对舵机的精确控制。通过合理配置和控制STM32的PWM模块,可以灵活地对舵机进行驱动和控制,从而在各种应用场景中实现精确的位置控制和运动控制。这种方法在机器人、自动化设备、遥控模型等领域广泛应用。详细的步骤和配置我写在了下面代码的注释里了,都有的哈。2.设置时基单元的时钟。4.初始化输出比较单元。

2024-07-14 21:53:49 142

原创 STM32定时器外部时钟

STM32定时器可以使用外部时钟作为时钟源,这样可以灵活地控制定时器的时钟频率和精度。使用外部时钟作为定时器的时钟源可以提高定时器的精度和稳定性,同时也可以适应不同的应用需求。外部时钟可以是外部晶体振荐器、外部信号源等,具体的选择取决于实际的应用场景和性能要求。在实际的应用中,通过配置定时器的输入时钟源为外部时钟,可以实现更灵活和精准的定时器功能。设置STM32定时器外部时钟分六部走,和上一节的STM32内部时钟差不多,唯一的不同就是选择时钟,通过ETR引脚的外部时钟模式2配置。

2024-07-14 09:05:04 314

原创 STM32 OLED显示屏

在STM32微控制器中,OLED显示屏的作用是作为一种高清、高对比度、低功耗的显示设备,用于在嵌入式系统中显示图形和文本信息。OLED显示屏通常由许多微小的有机发光二极管组成,可以直接发光,无需背光灯,因此具有较低的功耗和更高的对比度。开发人员可以编写驱动程序,控制STM32与OLED显示屏之间的通信和数据传输,从而在OLED屏幕上显示各种文字、图形和动画。OLED一共包括了三个文件,分别是OLED.c、OLED.h以及OLED_Font.h。下图是OLED的接线图和运行结果图。

2024-07-13 20:12:07 150

原创 STM32定时器定时中断(自制时钟)

STM32定时器定时中断是指利用STM32系列微控制器上的定时器模块来生成周期性的定时中断信号。通过配置定时器的预分频器和自动重载寄存器,可以实现在特定时间间隔内生成中断请求。这种定时器中断可以用于实现精确的时间计量、周期性任务的触发等功能。2.设置时基单元的时钟。

2024-07-13 20:02:34 976 2

原创 STM32旋转编码器计次(外部中断)

1. /第一步配置RCC 把涉及的外设的时钟打开 EXTI 和NVIC(内核)两个不需要开启时钟 GPIOB和AFIO需要开启时钟 打开时钟。2.配置GPIO 选择我们的端口为输入模式 我连接是是B0和B1接口分别接旋转编码器的A和B。3.配置APIO外部中断引脚选择 来选择我们要中断的引脚 中断的引脚 也分别是B0和B1。5.配置NVIC 给中断选择合适的优先级 并且对两个通道分别设置优先级。旋转编码计次Encode.c和Encode.h 文件。4.配置EXTI 选择边沿触发方式。

2024-07-12 10:13:38 218

原创 基于JAVA的socket类UDP网络编程(UDP协议的发包和收包)

UDP(User Datagram Protocol)是一种无连接的协议,它在网络上传输数据时不保证数据的可靠性,但具有快速和轻量的特点。2.最好用IDEA,2024前会自动跳port: ,0前面会自动跳offset:\。1.先运行receive再运行send,返回receive查看接收结果。基于Java的Socket类UDP网络编程是通过使用Java的。1.创建Socket 服务。2.创建要发送包的信息。2.定义要接收包的数组。4.关闭socket。1.创建socket。5.显示收到包的数据。

2024-07-11 18:36:49 207

原创 STM32对射式红外传感器计次(EXTI外部中断)

内容步骤:(1)配置RCC 把涉及的外设的时钟打开 EXTI NVIC两个不需要开启时钟。(4)配置EXTI 选择边沿触发方式 触发响应方式。(2)配置GPIO 选择我们的端口为输入模式。(5)配置NVIC 给中断选择合适的优先级。在主函数中对对射式红外传感器进行初始化 以及在显示屏中进行挡光次数的显示。(3)配置APIO外部中断引脚选择。第一步:写对射式红外传感器的.h和.c文件。需要OLED文件的同学,点个关注,私发。有问题可以在评论区留言,我会回复。

2024-07-11 18:12:39 266

原创 string比大小(非常实用):对字符串存储的数字比较大小或者取最值

对于一个长度有100+的数字,我们可以把它存到数组里用来比较大小,但是数组的长度也有限制,所以对于存入数组这种方法不可行,那么有的人会说,我可以把他的每个数存到数组a[1],a[2],a[3].....a[n]中,那么问题来了,你怎么去比较呢?一个一个去比较大小?而且个十百千万亿等等这些都是存在数组里,可能一个数的百位比另外一个数的百位大,但是千位小于另一个数的千位,那又要分情况讨论,是不是很麻烦,所以string对于大数字以及位数很多的数字用来比大小和取最值就非常的巧妙,快来和我一起学吧!

2023-05-21 00:23:17 1409 1

原创 结构体比大小(对结构体里的数据进行大小比较与排序)

对于结构体里面的数据进行比较大小与排序,无论是蓝桥杯还是传智杯结构体在算法中都扮演着非常重要的角色,但是我们应该怎么对结构体里的数据进行比较大小和排序呢?该题目不但要进行结构体里的总分的比较 还要对语文成绩以及学号进行比较,类型数据超过两种,所以适用第二种方法。方法二:直接定义一个bool类型的cmp函数,将cmp函数放在sort函数里进行比较结构体的大小。题目来自洛谷,源代码和注释都是作者自创,没有理解的同学可以在评论区,作者会耐心解答!方法一:在结构体里重新定义小于号,再用sort()函数进行排序;

2023-05-17 07:45:00 2611 2

原创 洛谷P1443 马的遍历 (小白进:解析加思路图解—BFS)

洛谷P1443

2023-05-16 22:45:45 213 1

原创 洛谷P1111并查集(小白请进)通俗易懂的代码和注释

题目非常的简单,只涉及到了并查集的一点皮毛;并查集三个字都代表着各自的意思,"并"将元素或者集合进行合并,合并的这个过程在并查集这个算法中是非常重要的一步且必不可少的一步,"查"顾名思义就是查找元素所在的集合,"集"的意思就是集合,由一个或者多个元素组成的集合。而此题没有涉及到"查”,千里之行始于足下,所以先从简单的开始吧!不懂的可以写在评论区或者私聊。

2023-05-11 18:04:05 277 4

原创 八位数回文日期

/取回文日期最后的月份 是否与year的最后两位数相等。//取回文日期最后的日期 是否与year的前两位数相等。//分别取年份的个、十、百、千位;

2023-05-10 23:46:50 181 6

空空如也

空空如也

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

TA关注的人

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