单片机在很多人看来好像门槛很高,在某些人看来很简单。
所以,单片机编程好不好学,这取决于谁去学,有没有基础,有没有兴趣。
我自己是通过自学学会的,我个人认为相对java那些纯软件,单片机比较好学。
单片机编程只需要学习C语言,很多人也会把汇编也学了,但是实际产品开发汇编一般用的还是比较少。
反正我从来没用汇编做过项目,所以只需要学习C语言就可以了。
至于单片机嘛,入门51的单片机也很简单,就是看手册配置单片机的寄存器而已。
就像你买一个冰箱,它配一个说明书给你,教你怎么用。
学习编程的过程才是最枯燥,连续看1个月视频,敲一个月的代码,只能在屏幕前显示冷冰冰一些字符。
而单片机则有趣的多,你只要会C语言入门语句,再加一点单片机寄存器配置就能点亮电路板上的一个灯。
这个时候你会更有成就感,感觉你学的东西可以很快看到成果,很快你天马行空的脑袋就会去思考,我怎么用程序控制家里的灯打开和关闭。
有了这些想法以后,你就更有动力去学习,把自己的想法变现。
所以很多时候,我经常对学员说,只要你有兴趣,其实最后你是玩会单片机的。
就像我们玩游戏,只要有兴趣,我相信一个小学生都能玩的很好。
单片机初学者怎么看懂代码?
在看代码之前,我们首先要背下C语言的一些关键词和语句都有什么作用,这是基础,这一步没做到,不要想着能看懂代码。
那是不是知道C语言所有关键词和语句就一定能看懂代码呢?
答案肯定是不一定的,一段代码就是一个功能,如果你不了解功能的情况下看代码,你会越看越迷茫。
一般我看代码的正确流程是:
1. 先搞懂功能原理,然后思考如果是我的话,我会怎么去写,我会先尝试着用自己的思维去实现一下代码,只有写的时候你才会发现问题。
2. 抱着这些问题去研究别人的代码,看下别人的实现思路。
3. 如果有条件,可以尝试改改别人的代码,调试一下会有什么反应。
做到以上三步,基本上你就能吃透别人的代码。
学会看懂别人的代码是一项非常重要的能力,我的编程水平都是这样去提升的。
很多时候虽然你重写代码也能实现同样的功能,但是其中涉及到2个东西会直接影响整个产品的稳定性和效率。
1.代码架构
2.代码算法
代码架构决定你的程序移植性和可扩展性,同时也会影响做出来产品的稳定性。
代码算法决定你的程序执行的效率,举个例子,右移运算也能当除法去,并且执行的机器周期比除法运算短。
这两个概念主要体现在中大型的项目上,如果你的项目是51单片机级别的,基本上可以忽略,因为芯片的资源有限,你想做出好的架构,芯片的ROM都不够用。