基于libopencm3 STM32F103ZET6 PWM控制舵机 MG90S

本文作者分享了购买STM32F103开发板的经历,并探讨了该单片机的GPIO工作模式,包括开漏输出、推挽输出及复用。还介绍了如何使用Cortex-M3的定时器实现PWM以及MG-90S的中断处理。作者提醒读者在选择开发板时要谨慎,同时展示了在六轴机械臂项目中的具体应用。
摘要由CSDN通过智能技术生成

半年前我在淘宝买了一块SMT32F103ZET6开发板,原理图依托狗屎,直到现在我都没有动它,大家一定要谨慎挑选。
在这里插入图片描述
近日笔者正在做一套六轴机械臂,同时仔细研究单片机的启动过程,于是尝试使用libopencm3开发舵机驱动程序。

众所周知,STM32F103拥有七组GPIO,每组GPIO有16个IO口,总计112个IO口,这Cortex-M3 144个引脚的封装中占了很大一部分。
GPIO有八种工作模式,其中有四种输出模式,开漏输出,推挽输出和两种复用工作模式,复用开漏输出和复用推挽输出。
(关于复用,为了确定读者真的明白复用的含义,还是要再说明一下,复用是指:在同一个物理信道上,同时传输多个信号,从而提高信道的利用率和传输效率。复用的方式有很多,例如频分复用,时分复用,码分复用,空分复用等。也就是说!如果要使用复用功能,不止要配置寄存器,还要在软件中进行相应的初始化!)

开漏输出可以输出强低点平,高电平需要外接上拉电阻。输出端相当于三级管的集电极。适用于做电流型的驱动,其吸收电流的能力相对强。
推挽输出可以输出强高强低电平,连接数字器件。输出端由P-MOS管和N-MOS管组成的单元电路控制。推挽输出既提高电路的负载能力,又提高开关速度。
(不懂P-MOS和N-MOS的去看阎石数电中的3.3 CMOS电路)

同时,PWM需要依靠定时器来实现。
Cortex-M3架构中的定时器分为三类,

关于MG-90S
在这里插入图片描述
关于中断

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

「已注销」

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值