两个可以说都是行业标杆。
不能说哪个比哪个更好,各有特色,适合自己就是最好的,同行之间都是相互参考去做的。
我从以下几个维度来对比下:
1.教程
2.代码
3.开发板价格
4.进阶
一、教程
两家教程都是完全开源的,大家对野火的教程好评比较多,开始几章由浅到深讲解地很好。
有些c基础不是很好的人也能跟上,能理解STM32的外设使用底层也是从寄存器配置进行代码二次封装来的。
后面一些章节似乎换了老师,讲解地更加偏向实际项目,站在初学者的角度,或许听起来有点费劲,但死磕也能学到不少东西。
正点原子的话正好相反,刚开始的几个章节可能对新手不是很友好,反而后半段更适合初学者。
对于初学者来说,其实不需要讲的多深入,最重要是能让你理解。
二、代码风格
野火的代码宏定义多,虽然初学者觉得很绕,不直观、但更加严谨,一般在实际项目开发的时候这种做法有利于程序可扩展性和可移植性。
我看网友喷的最多的就是正点的代码,代码风格不太适合作为实际项目的参考。
我觉得,不管怎么样,还是那句话:能让你理解才最重要,不要过河拆桥了。
大家定位都是不一样的,既然你是初学者,又是刚入门STM32。
就不要去管什么代码风格,程序架构的东西了,能把功能实现就不错了。
第一步你得把功能试下吧,实现过程中肯定会踩坑,然后再去想为什么?怎么优化?
你只有经历了这个过程,你对好的代码理解地才更透彻,否则你的理解永远只停留在表面。
就好比,你以为用了指针程序就很专业,实际上根本没解决什么痛点,强行装逼而已。
三、开发板价格
开发板价格作为最后的考量,也是有原因的。
两家价格相差不大,整体来说原子的开发板质量比野火好些。
质量好坏,并不是最核心的问题,反正肯定能正常用起来,只是质感好坏而已。
现在我的开发板都在某个角落吃灰,一般做实验的时候用一下,用完就丢一边了。
四、进阶
通过开发板,基本就能顺利突破新手期,剩下的就是进阶,就是达到独立完成功能的水平。
不要指望开发板能让你的水平有质的飞跃,开发板的目的是让你学会单片机外设的使用,仅此而已。
学会外设,不代表你就会做项目了,因为还缺两种能力:
1.项目思维
也就是给你一个功能需求,它会用到单片机什么外设?数据如何采集?或者用什么信号去控制?逻辑功能怎么用程序去实现它?
2.编程水平
等你有了思路,你还得有一定的编程水平写代码去实现。
当然,在工作的前几年,我基本都是以实现功能就行,根本不考虑程序架构,不考虑代码写得好不好,不考虑后期客户要不要改功能。
正是因为考虑不周,我吃了很多亏,就直接的体现就是经常加班改代码。
如果程序架构好,这些问题可能几分钟就解决了。
3.如何提升
只能通过不断做项目去积累,但是也不是没有捷径的。
捷径就是能找到一个资深人士学习,跟着他做项目,学习他的项目思维和编程经验。
这样你就能节约大量自己摸索的时间。
举个例子,同一种功能,新手的写出来可能是这样的:
而我们无际单片机课程项目的代码架构是这样的:
虽然本质都是轮询方式去执行,但是灵活度很明显我们写出来的更高,可以单独控制每个函数执行时间等等。
相关文章