单片机学习日记

外设需要驱动的时候用复用推挽输出模式。

在使用时,根据时钟树中对应APB的定时器时钟线的频率,结合预分频器以及自动重装载寄存器,我们就可以设置出需要的PWM频率(周期),比较寄存器与自动重装载寄存器的比值就是PWM的占空比。当然如果换到PWM模式2或者修改输出极性情况会有所不同。

在代码中我们使用HALTIM_PWM_Start函数可以启动PWM输出,当然也有对应的HALTIM_PWM_Stop函数停止PWM输出;通过HAL TIMSETCOMPARE函数我们可以修改比较寄存器的值,也就修改了PWM的占空比

旋转编码器


它每360度输出20个脉冲,也就是每个脉冲代表18度,用脉冲数量乘以18度就可以得出真实的旋转角度

定时器:

编码器模式:

输入捕获只能进行直接捕获走TI1FP1和TI2FP2

代码里HAL_TIM_Encoder_Start编码器,随后获取计数器的值就好啦。

舵机

大于输出比较寄存器时输出另一种电平,修改定时器时钟源的速度以及预分频器等设置,可以修改计数器计数的速度。再加上修改自动重装载值,就可以调节PWM的周期频率。修改比较寄存器的大小,就可以调节PWM的占空比

实际上绝大多数的舵机控制的占空比范围都是2.5%~12.5%,因为绝大多数的航模遥控器也都是输出这个范围的信号,


DRV8833控制电机,需要熟悉PWM

相关推荐
振浩微433射频芯片3 小时前
433MHz在智能家居中的应用大全(二):智能安防篇——安全不容“信号死角”
网络·单片机·嵌入式硬件·物联网·智能家居
dadaobusi3 小时前
手搓单片机
单片机
北顾笙9804 小时前
LLM学习-day02
学习
xingzhemengyou14 小时前
STM32 CAN总线通信:从原理到实战开发指南
stm32·单片机·嵌入式硬件
大连好光景4 小时前
PYG从入门到放弃
笔记·学习
辰哥单片机设计4 小时前
STM32项目分享:宠物喂食(蓝牙升级版)
stm32·嵌入式硬件·宠物
FreakStudio5 小时前
MicroPython LVGL基础知识和概念:底层渲染与性能优化
python·单片机·嵌入式·电子diy
VelinX5 小时前
【个人学习||操作系统】
学习
renhongxia15 小时前
ORACLE-SWE:量化Oracle 信息信号对SWE代理的贡献
人工智能·深度学习·学习·语言模型·分类
AI_零食5 小时前
声音分贝模拟与波动动画展示:鸿蒙Flutter框架 实现的声音可视化应用
学习·flutter·华为·开源·harmonyos