方波和定时器
方波的发送是通过占空比来实现的,而想要实现占空比的话,需要借助到使用定时器的计数变量,这个变量一直在循环增加,当这个变量满足一定数值的时候,可以让释放的方波为1,而满足另外一种数值的时候,可以让释放的方波为0。
这是上述两种功能在逻辑上的衔接关系,那接下来想想代码是如何实现的。
由于你发送方波和定时器计数都是需要定时器来操作的,所以两人是平级的,先让计数变量++,等加加完了之后,再来影响方波发射器的发送,代码逻辑很重要。
电机驱动速度
我们在写小车电机驱动的时候,一定需要明确一个逻辑:小车在同一时间只有一个速度,也就是说我们可以定义一个速度变量或者是速度结构体(让和速度有关的变量封装起来),之后关于速度的任何操作值需要影响这个速度变量就可以影响小车的速度了,这叫做将小车的速度具象化,这是个很重要的思路。就像之前学习的LCD显示一样,其中有显示函数,也有装载了字符串的数组,显示模块永远是不用动的,而影响数据如何,只要对这个字符串数组进行操作就可以了,一定要将功能模块化,完成思维的解耦,这对于功能的构建至关重要,否则实现功能的时候将束手无策。
设置速度的改变
我们一开始设置速度的时候,是直接使用一个暴露在外的函数,直接对一个结构体变量里面的数据进行更改。而后面又增加了一个变量,也就是目标速度和目前速度,这样的话之前暴露在外的函数就是直接更改目标速度了,而目标速度和其他速度的之间的关系也是需要更改,而这个更改就要新建一个内部函数来体现了,这个内部函数就起到了衔接的作用。
写函数第一件需要注意的事情
写函数第一件需要注意的事情就是考虑边界。
灵活的代码写法
a = (b > 0);
这句话直接将条件判断语句集成了,直接省略了一个if,这个只适用于布尔。
如果一个函数执行的太快怎么办?
如果一个函数