单片机学习日记

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

在使用时,根据时钟树中对应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

相关推荐
小e说说1 小时前
拯救孩子学习兴趣大作战!这些软件超神了
学习
呱呱巨基4 小时前
Linux 基础IO
linux·c++·笔记·学习
莎士比亚的文学花园5 小时前
stm32——平衡小车
stm32·单片机·嵌入式硬件
Hello_Embed5 小时前
STM32CubeIDE 创建第1个工程
stm32·单片机·嵌入式·ai编程
萑澈6 小时前
智能增强与范式演进:OpenClaw 与 Hermes Agent 自我学习机制深度研究报告
学习
小麦嵌入式7 小时前
FPGA入门(一):手把手教你用 Vivado 创建工程并仿真
stm32·单片机·嵌入式硬件·mcu·fpga开发·硬件架构·硬件工程
xuhaoyu_cpp_java7 小时前
Spring学习(一)
java·经验分享·笔记·学习·spring
minglie18 小时前
剩余定理的电枢语言描述
学习
我是发哥哈8 小时前
深度评测:五款主流AI培训平台的课程交付能力对比
大数据·人工智能·学习·机器学习·ai·chatgpt
摇滚侠8 小时前
DSL 学习 ElasticSearch 主要就是学习 DSL 查询语言
学习·elasticsearch·jenkins