51小车的电机驱动思路

本文讲述了在小车电机驱动中,如何通过方波和定时器实现占空比控制,以及如何设计合理的速度变量结构和函数,确保代码的灵活性和性能。重点讨论了如何通过设置目标速度和逐步调整来平滑速度变化,避免因快速切换导致的僵硬感。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方波和定时器

方波的发送是通过占空比来实现的,而想要实现占空比的话,需要借助到使用定时器的计数变量,这个变量一直在循环增加,当这个变量满足一定数值的时候,可以让释放的方波为1,而满足另外一种数值的时候,可以让释放的方波为0。

这是上述两种功能在逻辑上的衔接关系,那接下来想想代码是如何实现的。

由于你发送方波和定时器计数都是需要定时器来操作的,所以两人是平级的,先让计数变量++,等加加完了之后,再来影响方波发射器的发送,代码逻辑很重要。

电机驱动速度

我们在写小车电机驱动的时候,一定需要明确一个逻辑:小车在同一时间只有一个速度,也就是说我们可以定义一个速度变量或者是速度结构体(让和速度有关的变量封装起来),之后关于速度的任何操作值需要影响这个速度变量就可以影响小车的速度了,这叫做将小车的速度具象化,这是个很重要的思路。就像之前学习的LCD显示一样,其中有显示函数,也有装载了字符串的数组,显示模块永远是不用动的,而影响数据如何,只要对这个字符串数组进行操作就可以了,一定要将功能模块化,完成思维的解耦,这对于功能的构建至关重要,否则实现功能的时候将束手无策。

设置速度的改变

我们一开始设置速度的时候,是直接使用一个暴露在外的函数,直接对一个结构体变量里面的数据进行更改。而后面又增加了一个变量,也就是目标速度和目前速度,这样的话之前暴露在外的函数就是直接更改目标速度了,而目标速度和其他速度的之间的关系也是需要更改,而这个更改就要新建一个内部函数来体现了,这个内部函数就起到了衔接的作用

写函数第一件需要注意的事情

写函数第一件需要注意的事情就是考虑边界。

灵活的代码写法

a = (b > 0);

这句话直接将条件判断语句集成了,直接省略了一个if,这个只适用于布尔。

如果一个函数执行的太快怎么办?

如果一个函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值