我记得刚开始接触编程的时候,觉得太难了。
也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?
他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。
一个程序几千行,错一个标点符号都不行这也太难了吧?
带着新手的灵*拷问,作为从业单片机编程10年的开发者,我来为大家拨开云雾。
看完以后你就会明白,其实他们也没那么厉害!即便你是初中文凭,也照样能编程。
对于c语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。
你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。
只是他们逻辑功能不一样,另外的那些英文,都是程序员自己起的,比如说一些变量的名字,函数的名字。
如果你喜欢你定义成abc都可以,只不过为了程序大了以后为了方便阅读和维护,我们一般起跟要实现的功能相同的英文缩写代替。
比如说我要存储一个电压值,那你可以定义一个变量,名字叫VoltageValue,或者这两个词的缩写VoltVal。
所以,大家不要把这个想得这么神秘和高大上。
而从事单片机编程,需要的编程水平比做纯软件还要低一些,毕竟单片机的内存很有限,太大的程序也放不下。
单片机的c语言基础知识大家可以参考以下目录学习:
这个教程找无际单片机编程就可以拿到。
这是课程就是针对零基础的小伙伴学习的,先从认识单片机开始,然后再到计算机的存储和计算方式二进制、十进制。
学完这些基础,开始学习c语言的基本语法。
在学习过程中,大家一定要勤动手,多在单片机开发板上面做实验。
千万不要让知识点停留看懂的层面,看懂和自己能写出来区别还是很大的,请相信我!
如果你这些都学完了,可以在开发板上做个小实验,比如说电子时钟之类的。
这个步骤非常有必要,写的过程可以培养你的项目思维,以及代码整合能力。
如果这步直接跳过,后续学习更高级的stm32就会碰到很多问题,最大的问题就是你都学完了做项目还是无从下手。
单个功能都能实现,但整合起来就不知道怎么做了。
这就是缺少项目思维和代码整合能力导致的,不要一味地去追求学习高端的单片机,等你基础打扎实了,你会发现高端的也不过如此,就是外设多一点,资源丰富一点。
甚至说你会觉得高端的用起来比低端的单片机更加方便。
典型的就是stm32和51的对比,stm32单片机都是基于固件库开发,也就是原厂提供一套程序给你,你按照他们的函数调用就能把stm32单片机的资源用起来。
而51单片机就需要你去配置他们最底层的寄存器才能把资源用起来。
相对来说,stm32用熟了,开发效率会比51的高很多倍。
最后来聊下,有些新手说的c语言必背个代码。
这纯粹是在瞎扯淡,c语言只是工具,不同的人用这个工具去实现同一种功能,他们的实现方法可能是不一样的,因为每个人的思维不同。
这不像我们课文靠背的,也没必要去背,看代码最重要的是理解这段代码实现功能的思路和原理。
通过功能和原理去理解代码,而不是通过代码去理解功能原理。
这个顺序搞不对,你一辈子都学不好编程。