STM32F103C8T6+cubemx
文章平均质量分 56
2301_80727672
这个作者很懒,什么都没留下…
展开
-
STM32F103C8T6+HAL库驱动L298N控制直流有刷电机
最后来看一下代码和连接图,代码非常简单,只需要先开启PWM通道,再给定GPIO的高低电平,设置正反转,以及占空比,就可以启动电机了,这里只给启动,有需要可以再新建一个.c文件封装几个函数,就可以调用实现正反转及停止,多用几个就可以驱动小车啦!,不过要驱动电机就要用PWM,也就是本文使用的通道使能B(把插线帽拔掉),IN3和IN4都对应B通道,最初都给低电平,处于等待中。4、设置GPIO,IN3和IN4,OutPut模式,这里设置的PB4和PB5,顺便给它们改个名字。需要注意的是,我使用的。原创 2024-10-14 16:57:02 · 408 阅读 · 0 评论 -
16.STM32F103C8T6+CUBEMX+PWM+编码器
实现呼吸灯主要依靠PWM脉冲宽度调制,也就是输出比较模式的PWM模式,通过调节比较寄存器的大小,就能控制PWM的占空比(占空比是指一周期内高电平持续占比),从而调节小灯亮度。4、 开启控制小灯亮灭的定时器,选择PWM模式,并设置预分频以及自动重装载值(此处默认开启影子寄存器和PWM MODE1,即计数值大于比较值则有效,反之无效)3、while循环:要达到0~100计数,则要写两个if语句限定count改变数值的范围,还要设置比较寄存器从而调控小灯亮灭,最后将数值显示在oled上。原创 2024-09-25 19:49:47 · 786 阅读 · 0 评论 -
15.STM32F103C8T6+CUBEMX+输入捕获实现超声波测距
如下简图,TI1和TI2可以相互借用,TI1的TIFP1是直接模式,TIFP2是间接模式。用TI1的两个模式,一个上升沿触发,另一个下降沿触发,分别得到计数值,当下降沿触发计数完后,开启捕获比较中断,而根据实现的功能可知,要开启捕获比较中断(由于没有用到定时器更新中断,所以启动函数不用加_IT),但CH3没有加,这是因为在下降沿触发捕获计数值后,中断才收到通知,进行数据的计算(说明还要写回调函数)。2、输入捕获:经过上升沿或下降沿,捕获寄存器捕获当前计数值(没有双边沿)设置预分频为72分频,则得到1us。原创 2024-09-24 21:18:44 · 692 阅读 · 0 评论 -
14.STM32F103C8T6+CUBEMX+循迹模块(定时器计数、测速)
下面改数值15是输入滤波器,因为抖动会影响计数,设置一定的采样频率检验,能有效消除抖动;学习完b站keysking老师的视频后写了这篇笔记,主要是学习定时器外部时钟。2、开I2C,用于OLED显示,记得生成代码的时候要生成独立的.c.h文件。选了外部时钟模式1,借助从模式ETR1;注意串口开的是PA0,连上即可。好奇怪我传不上来视频,和程序一起放在压缩包里了。2、把上限从65535改为10(方便观察)三、加无上限计数的cubemx配置。一、cubemx配置。原创 2024-09-23 22:22:19 · 535 阅读 · 0 评论 -
12.STM32F103C8T6+CUBEMX+AHT20+中断(/DMA)+BT04蓝牙
(与上一篇轮询模式不同,轮询模式要等待所有数据发送、接受完才会向下执行,所有有个等待时间Time,之前设置的HAL_MAX_DELAY),它会将任务交给外设后向下执行,所以要设置状态机,以及使用回调函数。(在通过AHT20_Measure();的HAL_I2C_Master_Transmit_IT();0:初始状态,发送测量命令 AHT20_Measure();2、完成发送,等待80ms后读取 AHT20_Get();I2C.c(加入了回调函数)原创 2024-09-21 22:57:18 · 1068 阅读 · 0 评论 -
9.STM32F103C8T6+CUBEMX+0.96OLED
OLED我是看的下方链接这篇文章,目前学的比较急,会用就行,所以没拿keysking的,,我也把我的资料放在这里了,直接新建文件拿去用就好了,注意文件还是要建立在对应的文件夹下。(下进去没反应就按一下复位键)原创 2024-09-22 20:17:23 · 361 阅读 · 0 评论 -
13.STM32F103C8T6+CUBEMX+基本定时器
(在前面RCC处已经设置为72MHz,再经过7200分频,则可得到10000Hz),如果我们想定时1秒,则可将。学习b站keysking老师的视频, 第16课,基本定时器功能。2、打开USART2(我把波特率改成9600了,用网站看连个蓝牙就行,比较方便),这样TIM4的计数器从0~9999刚好为1秒钟。实现n分频,则需将其设置为n-1,此时为。(要配置好PSC和ARR)一、配置cubemx。3、打开定时器4及其。原创 2024-09-23 17:52:18 · 458 阅读 · 0 评论 -
11.STM32F103C8T6+CUBEMX+AHT20+0.96OLED
继上一篇整合了一下,把AHT20的I2C1改成了I2C2,oled用I2C1(这样布局和当时学江科大的比较像,好看一点),直接放代码吧,oled的代码不是照着keysking学的。,这个直接拿来用就好了。原创 2024-09-21 21:22:39 · 282 阅读 · 0 评论 -
7.STM32F103C8T6+CUBEMX+BT04蓝牙
3、GPIO:我选了红灯、绿灯、蓝灯,配置这些引脚为输出模式,右键添加标签,方便后续编写程序。以此记录学习cubemx过程,看的b站keysking的视频。2、RCC(习惯、不配好像没啥事,我也没改旁边HCLK配置)4、USART3,开异步模式,改波特率默认为9600。5、开启USART3的中断NVIC。6、开启USART3的DMA。一、配置cubemx。原创 2024-09-21 11:49:50 · 221 阅读 · 0 评论 -
10.STM32F103C8T6+CUBEMX+AHT20
把文字对应的注释在后面了,注意HAL_I2C_Master_Transmit函数里的sendbuffer数组前面不用取地址符。1、新建.c .h文件,注意要在对应的文件夹下。记录学习过程,看的是。2、对照AHT20手册进行写。1、打开I2C1,设置模式。一、配置cubemx。原创 2024-09-21 20:05:49 · 498 阅读 · 0 评论