当前位置:网站首页>stm32入门开发板选野火还是正点原子呢?
stm32入门开发板选野火还是正点原子呢?
2022-04-23 17:20:00 【无际单片机编程】
两个可以说都是行业标杆。
不能说哪个比哪个更好,各有特色,适合自己就是最好的,同行之间都是相互参考去做的。
我从以下几个维度来对比下:
1.教程
2.代码
3.开发板价格
4.进阶
一、教程
两家教程都是完全开源的,大家对野火的教程好评比较多,开始几章由浅到深讲解地很好。
有些c基础不是很好的人也能跟上,能理解STM32的外设使用底层也是从寄存器配置进行代码二次封装来的。
后面一些章节似乎换了老师,讲解地更加偏向实际项目,站在初学者的角度,或许听起来有点费劲,但死磕也能学到不少东西。
正点原子的话正好相反,刚开始的几个章节可能对新手不是很友好,反而后半段更适合初学者。
对于初学者来说,其实不需要讲的多深入,最重要是能让你理解。
二、代码风格
野火的代码宏定义多,虽然初学者觉得很绕,不直观、但更加严谨,一般在实际项目开发的时候这种做法有利于程序可扩展性和可移植性。
我看网友喷的最多的就是正点的代码,代码风格不太适合作为实际项目的参考。
我觉得,不管怎么样,还是那句话:能让你理解才最重要,不要过河拆桥了。
大家定位都是不一样的,既然你是初学者,又是刚入门STM32。
就不要去管什么代码风格,程序架构的东西了,能把功能实现就不错了。
第一步你得把功能试下吧,实现过程中肯定会踩坑,然后再去想为什么?怎么优化?
你只有经历了这个过程,你对好的代码理解地才更透彻,否则你的理解永远只停留在表面。
就好比,你以为用了指针程序就很专业,实际上根本没解决什么痛点,强行装逼而已。
三、开发板价格
开发板价格作为最后的考量,也是有原因的。
两家价格相差不大,整体来说原子的开发板质量比野火好些。
质量好坏,并不是最核心的问题,反正肯定能正常用起来,只是质感好坏而已。
现在我的开发板都在某个角落吃灰,一般做实验的时候用一下,用完就丢一边了。
四、进阶
通过开发板,基本就能顺利突破新手期,剩下的就是进阶,就是达到独立完成功能的水平。
不要指望开发板能让你的水平有质的飞跃,开发板的目的是让你学会单片机外设的使用,仅此而已。
学会外设,不代表你就会做项目了,因为还缺两种能力:
1.项目思维
也就是给你一个功能需求,它会用到单片机什么外设?数据如何采集?或者用什么信号去控制?逻辑功能怎么用程序去实现它?
2.编程水平
等你有了思路,你还得有一定的编程水平写代码去实现。
当然,在工作的前几年,我基本都是以实现功能就行,根本不考虑程序架构,不考虑代码写得好不好,不考虑后期客户要不要改功能。
正是因为考虑不周,我吃了很多亏,就直接的体现就是经常加班改代码。
如果程序架构好,这些问题可能几分钟就解决了。
3.如何提升
只能通过不断做项目去积累,但是也不是没有捷径的。
捷径就是能找到一个资深人士学习,跟着他做项目,学习他的项目思维和编程经验。
这样你就能节约大量自己摸索的时间。
举个例子,同一种功能,新手的写出来可能是这样的:
而我们无际单片机课程项目的代码架构是这样的:
虽然本质都是轮询方式去执行,但是灵活度很明显我们写出来的更高,可以单独控制每个函数执行时间等等。
最后彩蛋时间!!!
最近很多小伙伴找我要一些单片机学习资料,然后我根据自己从业十年经验,熬夜肝了几个通宵,精心整理一份「单片机入门到高级教程+工具包」,全部无偿共享给大家!!!
除此以外,再含泪分享我压箱底的22个热门开源项目,包含源码+原理图+PCB+说明文档,让你迅速进阶成高手!
据说有小伙伴靠这份资料顺利进入BAT大厂,所以保存了一定要好好学习。
教程资料包和详细的学习路径可以看我下面这篇文章的开头。
单片机入门到高级开挂学习路径(附教程+工具)https://blog.csdn.net/weixin_43982452/article/details/114134096
版权声明
本文为[无际单片机编程]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_43982452/article/details/124340795
边栏推荐
- JS to find the character that appears three times in the string
- Website_ Collection
- 【WPF绑定3】 ListView基础绑定和数据模板绑定
- [markdown notes]
- Node template engine (EJS, art template)
- On lambda powertools typescript
- Perception of linear algebra 2
- 【生活中的逻辑谬误】稻草人谬误和无力反驳不算证明
- Clickhouse SQL operation
- Conversion between hexadecimal numbers
猜你喜欢
.Net Core3. 1 use razorengine NETCORE production entity generator (MVC web version)
Perception of linear algebra 2
Customize my_ Strcpy and library strcpy [analog implementation of string related functions]
Detailed explanation of C webpai route
Scope and scope chain in JS
How to change input into text
Simulation of infrared wireless communication based on 51 single chip microcomputer
[PROJECT] small hat takeout (8)
Milvus 2.0 质量保障系统详解
Nacos + aspnetcore + Ocelot actual combat code
随机推荐
[WPF binding 3] listview basic binding and data template binding
Oninput one function to control multiple oninputs (take the contents of this input box as parameters) [very practical, very practical]
JS, entries(), keys(), values(), some(), object Assign() traversal array usage
Wiper component encapsulation
Perception of linear algebra 2
Self use learning notes - connectingstring configuration
C# Task. Delay and thread The difference between sleep
Use between nodejs modules
Webapi + form form upload file
Your brain expands and shrinks over time — these charts show how
[PROJECT] small hat takeout (8)
Detailed explanation of Milvus 2.0 quality assurance system
Deep understanding of control inversion and dependency injection
Change Oracle to MySQL
Scope and scope chain in JS
VLAN advanced technology, VLAN aggregation, super VLAN, sub VLAN
ClickHouse-SQL 操作
Shell-sort命令的使用
Tencent resolves the address according to the IP address
For the space occupation of the software, please refer to the installation directory