网站首页 > 开源技术 正文
我记得刚开始接触编程的时候,觉得太难了。
也很好奇,写代码的那些人也太厉害了吧?全是英文的,他们的英文水平一定很好吧?
他们是怎么记住这么多代码格式的?而且错了一个标点符号,整个程序都会有影响。
一个程序几千行,错一个标点符号都不行这也太难了吧?
带着新手的灵魂拷问,作为从业单片机编程10年的开发者,我来为大家拨开云雾。
看完以后你就会明白,其实他们也没那么厉害!即便你是初中文凭,也照样能编程。
对于c语言来说,要记得东西其实不多,基本就是几个常用语句加一些关键字而已。
你所看到的那些几千甚至上万行的代码,都是用这些语句和关键词来重复编写的。
只是他们逻辑功能不一样,另外的那些英文,都是程序员自己起的,比如说一些变量的名字,函数的名字。
如果你喜欢你定义成abc都可以,只不过为了程序大了以后为了方便阅读和维护,我们一般起跟要实现的功能相同的英文缩写代替。
比如说我要存储一个电压值,那你可以定义一个变量,名字叫VoltageValue,或者这两个词的缩写VoltVal。
所以,大家不要把这个想得这么神秘和高大上。
而从事单片机编程,需要的编程水平比做纯软件还要低一些,毕竟单片机的内存很有限,太大的程序也放不下。
单片机的c语言基础知识大家可以参考以下目录学习:
这个教程找无际单片机编程就可以拿到。
这是课程就是针对零基础的小伙伴学习的,先从认识单片机开始,然后再到计算机的存储和计算方式二进制、十进制。
学完这些基础,开始学习c语言的基本语法。
在学习过程中,大家一定要勤动手,多在单片机开发板上面做实验。
千万不要让知识点停留看懂的层面,看懂和自己能写出来区别还是很大的,请相信我!
如果你这些都学完了,可以在开发板上做个小实验,比如说电子时钟之类的。
这个步骤非常有必要,写的过程可以培养你的项目思维,以及代码整合能力。
如果这步直接跳过,后续学习更高级的stm32就会碰到很多问题,最大的问题就是你都学完了做项目还是无从下手。
单个功能都能实现,但整合起来就不知道怎么做了。
这就是缺少项目思维和代码整合能力导致的,不要一味地去追求学习高端的单片机,等你基础打扎实了,你会发现高端的也不过如此,就是外设多一点,资源丰富一点。
甚至说你会觉得高端的用起来比低端的单片机更加方便。
典型的就是stm32和51的对比,stm32单片机都是基于固件库开发,也就是原厂提供一套程序给你,你按照他们的函数调用就能把stm32单片机的资源用起来。
而51单片机就需要你去配置他们最底层的寄存器才能把资源用起来。
相对来说,stm32用熟了,开发效率会比51的高很多倍。
最后来聊下,有些新手说的c语言必背100个代码。
这纯粹是在瞎扯淡,c语言只是工具,不同的人用这个工具去实现同一种功能,他们的实现方法可能是不一样的,因为每个人的思维不同。
这不像我们课文靠背的,也没必要去背,看代码最重要的是理解这段代码实现功能的思路和原理。
通过功能和原理去理解代码,而不是通过代码去理解功能原理。
这个顺序搞不对,你一辈子都学不好编程。
猜你喜欢
- 2025-07-01 有了一台云服务器,不仅可以写C语言程序,还能搭建自己的网站
- 2025-07-01 插入排序法的两种C语言和图形化编程的的程序
- 2025-07-01 史上最经典的10个C语言开源项目,适合C语言实战能力加强
- 2025-07-01 C语言程序设计100例[21-40](c语言程序设计(修订版))
- 2025-07-01 嵌入式C语言基础编程——5年程序员给你讲解程序设计之三种结构
- 2025-07-01 C/C++|头文件、源文件分开写的源起及作用
- 2025-07-01 嵌入式程序开发,C语言和C++究竟应该用哪个?
- 2025-07-01 C语言程序的基本单位是什么,为何会是这个
- 2025-07-01 初识C语言:简介、环境搭建、第一个HelloWorld
你 发表评论:
欢迎- 最近发表
-
- Shell脚本编程入门:轻松掌握自动化利器
- 告别代码恐惧症!豆包推出可视化AI编程,拖拽即可创建网页应用
- 星空外挂出程序单设置_启根教育(星空外挂excel通用程序单改三视图)
- PLC编程中的IF语句:从基础到高级的全面指南(附源码例程)
- 过程测量与控制仪表的功能标志及图形符号
- 西门子PLC编程基本指令汇总(西门子plc编程指令教学)
- 仪创Web门禁控制器:RESTful API标志门禁进入"可编程智能硬件"时代
- Python初体验:从入门到实践(python入门操作)
- Linux系统编程之进程基础知识(linux进程常用命令)
- [西门子PLC] 西门子1200 、200smart、 LOGO! 实现S7通讯演示功能
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)