深坑1:基本配置方法;
配置PWM输出,TIM4有四路PWM输出,依葫芦画瓢开始配置,配置完后,开始测试,啥都没有啊,很是伤心,开始查手册,发现也没问题啊。然后又开始求助师傅了,师傅说你开I/O时钟了吗?。。。。。。。。。。。。然后秒解决。
深坑2:基本调试方法;
基本的调试方法,就是printf函数测试逻辑是否正确啦,但是printf是很费时间的,程序会跑飞的。然后就摒弃了这个调试的方法。然后就不知道该如何调试程序逻辑了、然后某一天师傅说你为什么不用printf输出来看你的逻辑是否有问题呢?我说会跑飞啊,然后师傅把定时器时间调到10倍,说好了。。。。。。。。。这也是为什么这么多年多多少做过一些编程,但是一直不精通的原因了,往往是找个视频教程看看,就没在认真仔细的写过代码,这么多坑自己不去跳,不去爬,怎么可能把行程能力呢。
深坑3:硬件基础;
这个基础能力就是你一定要去看硬件手册,stm32中的复用功能可谓博大精深,要死记硬背功能不可能的,所以只能学会方法,用时去查啊。
深坑4:解决问题的方法;
任何编程的问题最后归结为数学和解决问题的思路,某位大牛说的,踩了这么多坑后深深觉得是多么痛的领悟。在掌握了一些基本的思路以后,还是遇到了很多问题,往往遇到问题后就不知道该如何分析。
问题1:一个往复运动的机构,在程序写完后,只能往一个方向运动。
然后我的解决问题的思路——用printf函数在每一个条件语句里放一个printf语句检测