单片机学习日记

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

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

相关推荐
悟乙己36 分钟前
AFAC2026 赛题四金融长文本 Agent竞赛学习笔记:赛题解析(一)
笔记·学习·金融
霍霍的袁1 小时前
【C++】哈希表实现指南:从原理到开放定址法、链地址法的实现
c++·学习·哈希算法·散列表·visual studio
长春的KAKA1 小时前
Proxmark3 Iceman分支CLI命令总表
嵌入式硬件
PC2005-cloud1 小时前
MySQL学习笔记:GTID 主从复制,从原理到实践,告别传统 Binlog+Position 的痛点
笔记·学习·mysql
半杯咖啡半行码1 小时前
STM32开发之IIC通信详解:从协议基础到FM24CL04实战
stm32·单片机·嵌入式硬件
starsky762382 小时前
Agent学习——上下文工程(二)
学习
硅基手札2 小时前
【I2C 技术系列 05】I2C 多主仲裁与时钟同步
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
szxinmai主板定制专家2 小时前
面向虚拟电厂协调控制:RK3588+FPGA+AI边缘控制器设计思路与算力评估
人工智能·嵌入式硬件·fpga开发·机器人·jetson·zynq·振动采集
硅基手札2 小时前
【I2C 技术系列 01】I2C 电气特性与物理层
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
comyccccc3 小时前
TB6612电机驱动板原理图与PCB设计学习笔记
单片机·嵌入式硬件