打印
[其他ST产品]

STM32学习笔记

[复制链接]
楼主: 米多0036
手机看帖
扫描二维码
随时随地手机跟帖
81
米多0036|  楼主 | 2024-1-24 01:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览
八、定时中断
1、定时中断基本结构及使用步骤 第一步:RCC开启时钟,是每个代码的第一步
第二步:选择时基单元的时钟源,对于定时中断,我们选择内部时钟源
第三步:配置时基单元 ,包括预分频器、自动重装器、计数模式等等,可以用结构体进行配置
第四步:配置输出中断控制,允许更新中断输出到NVIC
第五步:配置NVIC,在NVIC中打开定时器中断的通道,并分配一个优先级
第六步:运行控制
整个模块配置完成后,我们还需要使能一下计数器,要不然计数器是不会运行的,当定时器使能后,计数器就会开始计数了,当计数器更新时,触发中断。这个时候我们再写一个中断函数,这样这个中断函数就能每隔一段时间自动执行一次

使用特权

评论回复
82
米多0036|  楼主 | 2024-1-24 01:12 | 只看该作者
2、需要用到的函数

使用特权

评论回复
83
米多0036|  楼主 | 2024-1-24 01:12 | 只看该作者
TIM_Delnit,恢复缺省配置
TIM_TimeBaselnit,时基单元初始化,用来配置时基单元,函数内部有两个参数,一个是TIMx选择某个定时器,第二个是结构体,里面包含了配置时基单元的一些参数
TIM TimeBaseStructInit,可以把结构体变量赋一个默认值
TIM Cmd,这个是用来使能计数器的,它有两个参数,第一个TIMx选择定时器,第二个NewState新的状态,也就是使能还是失能,使能,计数器就可以运行,失能,计数器就不运行
TIM_ITConfig,这个是用来使能中断输出信号的,负责中断输出控制,它有两个参数。第一个TIMx,选择定时器。第二个TIM_IT,选择要配置哪个中断输出,第三个NewState,表示新的状态,是使能还是失能

使用特权

评论回复
84
米多0036|  楼主 | 2024-1-24 01:13 | 只看该作者

使用特权

评论回复
85
米多0036|  楼主 | 2024-1-24 01:13 | 只看该作者
这六个函数对应的就是时基单元的时钟选择部分,即对时钟源选择要用这六个函数,可以选择RCC内部时钟、ETR外部时钟、ITRx其他定时器、TIx捕获通道这些
TIM_InternalaockConfig。选择肉部时钟,参数只有一个ITMx
TIM_ITRxExternalClockConfig,选择ITRx其他定时器的时钟,参数是TIMx,选择要配置的定时器和InputT日哥rSource,选择要接入哪个其他的定时器,调用一下即可
TIM_TIxExternalClockConfig,选择TIx捕获通道的时钟,参数有个,第一个是TIMx,第二个是具体的某个引脚,第三个ICPolarity和ICFilter,是输入的极性和滤波器。对于外部引脚的波形,一般都会有极性选择和滤波器,这样会使得更加灵活
TIM_ETRClockMode1Config,选择ETR通过外部时钟模式1输入的时钟,参数ExtTRGPrescaler,外部触发预分频器,可以对ETR的外部时钟再提前做一个分频。Polarity和Filter,是极性和滤波器
TIM_ETRClockMode2Config,是选择ETR通过外部时钟模式2输入的时钟,参数的功能同上
TIM_ETRConfig,是单独用来配置ETR引脚的预分频器、极性、滤波器这些参数的

使用特权

评论回复
86
米多0036|  楼主 | 2024-1-24 01:13 | 只看该作者
九、TIM输出比较
1、输出比较简介
OC(Output Compare) 输出比较
输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形(PWM波形又是驱动电机的必要条件)
每个高级定时器和通用定时器都拥有4个输出比较通道
高级定时器的前3个通道额外拥有死区生成和互补输出的功能
如果想用STM32做一些有电机的项目,比如智能车、机器人等,就需要好好学习输出比较功能,在此处不做过多的阐述,大家可以在视频中找到这一节进行学习

使用特权

评论回复
87
米多0036|  楼主 | 2024-1-24 01:13 | 只看该作者
2、PMW简介
PMW(Pulse Width Modulation)脉冲宽度调制
在具有惯性的系统中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,长应用于电机控速等领域
PWM参数:

使用特权

评论回复
88
米多0036|  楼主 | 2024-1-24 01:14 | 只看该作者
3、输出比较通道(高级)【了解】

使用特权

评论回复
89
米多0036|  楼主 | 2024-1-24 01:14 | 只看该作者
4、输出比较通道(通用)

使用特权

评论回复
90
米多0036|  楼主 | 2024-1-24 01:14 | 只看该作者
5、输出比较模式
此处的输出模式即为上图中的输出模式控制器的内容

使用特权

评论回复
91
米多0036|  楼主 | 2024-1-24 01:14 | 只看该作者
6、PWM基本结构
蓝色线是CNT的值,蓝色线从0开始自增,一直增到ARR(即99),之后清0继续自增
黄色线是ARR的值
绿色线是输出的电平

使用特权

评论回复
92
米多0036|  楼主 | 2024-1-24 01:15 | 只看该作者
7、参数计算

使用特权

评论回复
93
米多0036|  楼主 | 2024-1-24 01:15 | 只看该作者
8、直流电机及驱动简介
直流电机是一种将电能转换为机械能的装置,有两个电极,当电极正接时,电机正转,当电极反转时,电机反转
直流电机属于大功率器件,GPIO口无法直接驱动,需要配合电机驱动电路来操作
TB6612是一款双路H桥型的直流电机驱动芯片,可以驱动两个直流电机并且控制转速和方向

使用特权

评论回复
94
米多0036|  楼主 | 2024-1-24 01:15 | 只看该作者

使用特权

评论回复
95
米多0036|  楼主 | 2024-1-24 01:15 | 只看该作者
9、舵机简介
舵机是一种根据输入PWM信号占空比来控制输出角度的装置
输入域PWM信号要求:周期为20ms,高电平宽度为0.5ms~2.5ms

使用特权

评论回复
96
米多0036|  楼主 | 2024-1-24 01:16 | 只看该作者
10、舵机的硬件电路

使用特权

评论回复
97
米多0036|  楼主 | 2024-1-24 01:16 | 只看该作者
11、
注意:

本文编写参考源于江科大自化协的stm32的教程,视频链接如下:
视频详解:https://www.bilibili.com/video/BV1th411z7sn?p=1
视频汇中的资料下载:https://pan.baidu.com/s/1SqKyKr5Fsl_9gBJi8aVxTw,提取码:8kzh,链接里压缩包的解压密码:32

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则