当前位置:首页 > 单片机 > 单片机
[导读]经常看见那些学了几个月单片机的学生,突然间不知道该学习些什么了,会进入迷茫时段。感觉这么什么都会,可一做东西什么也不会。我比较反感“玩”、“精通”来形容单片机,说这些话的往往都是些初生牛犊,还不知道老虎长什么样子,会吃人。

几年前,我得依靠着自己的直觉找到程序中的问题所在;现在,我可以凭着我的语法基础以及程序设计的思维解决程序中的问题。

经常看见那些学了几个月单片机的学生,突然间不知道该学习些什么了,会进入迷茫时段。感觉这么什么都会,可一做东西什么也不会。我比较反感“玩”、“精通”来形容单片机,说这些话的往往都是些初生牛犊,还不知道老虎长什么样子,会吃人。

单片机学习是很难的,不能速成,你必须承认这一点,有些号称能帮你从入门到精通,那些大多都是牛皮膏药,基本上讲的都是些入门的东西,市面上的讲单片机的书本内容基本上八九成是一样的。学习单片机的视频,八九成一样,不同的人讲的,主讲人的水平高低不同。

而正真高深的单片机程序处理,你在网上基本上找不到,偶尔能有那么一两个高手把自己的一点点心得分享出来,也许你半天都不能领悟其真谛。

正真的高手是这么炼成的?唯有自己日积月累,不断坚持、思考读成熟的程序,加上自己对程序的悟性,等到2到3年方可有所造诣。

1、首先我们来谈谈C基础,单片机程序开发,基本上用的是C语言,你的 语言学的怎么样了,对于关键词的使用是否已经融会贯通了,对于语法规则是否已经掌握。这是一门实践行的知识,没有实践你的C语言等于0,他的功能可不是书上那些例子,输个数做个加减乘除把结果输出。利用他的关键字及语法规则,勾画出无限的生产力。对于C语言的基础知识你要达到那种水平了,当你的想法出现的时候,功能要求已有,你能立刻用C语言描绘出来。C语言只是工具,实现我们的想法的工具,对于工具的使用要信手拈来,例如:把一个字节数据高底位一一兑换、把脉冲数转换为时间及检测出按键的连续两次按下等等,看到问题的时候具体的实现代码在老海呈现了没。

2、工具用熟了以后,我们该学习什么了了?对语法熟练以后就应该重点学习程序设计的方法,请大家分清两个概念,C语言只是工具,会C语言并代表你会设计程序,程序设计能力可分为,首先是能将复杂的功能要求拆分为若干个细小功能,用C语言描述实现,再将这些小功能用你的C语言工具串起来组成我们所需要的复杂功能。整个过程下来C语言都只是实现你想法的工具。看到这里你是否还敢用“玩”、“精通”来形容单片机吗,当真正进入单片机殿堂的时候你会感觉这是一个浩瀚无边的宇宙,你会越发感觉自己的渺小,只有更好,没有最好。

总结几点个人的学习的经验:

C语言与程序设计的学习是相辅相成的,他们共同进步,就如同你的两只脚,谁都不能超过谁很远。学习单片机之前请先学习C语言,请不要相信什么零基础也能学好,至少20天,要把基础知识掌握,在进入单片机学习,视频网上一大把,学会操作基础模块,在这个阶段你可以在网上寻找知识学习,将你开发板的模块程序都练一遍。

当你开发板学完了, 这个时候该这么办了,这就是我今天重点要的。

如果你就是浅尝辄止,那么你可以说自己入门了,如果你想有所造诣那么你还远着了,对于走过了这个阶段以后,我对我的学生的要求就是“背程序”,就如同别人学习英语背文章增强语感。我说所的“背程序”,并非死记硬背,属于一种重复强化训练,围绕几个主题,①、按键读取;②、数码管显示(重复计算显示代码) ;③、LCD1602液晶显示;④、AT24C02读写;⑤、DS1302读写;⑥、DS18B20读写。每个项目从建工程到下载成功在20分钟以内,最好练到在10分钟左右。对于代码需要精简而又有内涵,当你做好以后能增强你的语感及常规程序设计能力。最后以同样的方式训练一个综合项目——多功能数字钟,这个项目可能需要一个上午才能做好。这个过程的目的很简单,增强C语言工具的使用能力,在单片机编程这块,对于基础模块的程序设计能力,完成从感觉自己什么都懂,可要写点什么东西时又不知如何下手到实现一些简单功能程序能迅速写出来的转变。这个方式枯燥乏味但是效果还可以,可以借鉴借鉴。

完成了上述工作,紧接着多练习综合项目,这个时候这能靠自己,学程序没有别的,只能多练,多想。用你的开发板编写:计算器、电子日历、电子密码等各类能把你开发板上的资源综合起来用的程序。假想就是在做项目,要对自己提出苛刻的功能要求,切记不多说差不多了,要做到完美。

再往下走,完美要回过头学习单片机原理,去学习汇编,学习单片机的运行原理对你编程有极大的帮助,再把你的C语言书拿出来,细细的看前几章节,是时候该去看看指针了。在程序中简单的使用指针。 就这样往下练吧,估计至少得年吧时间。

再往下走,你应该去研究指针了,将指针应用到你的程序当中,它可以给你解决以往你所遇到的很棘手的问题。

讲到指针,该想到结构体了,我们应该去学习链表了,我们要将简单数据结构应用到单片机了。这个期间你如果能去学习在操作系统上的编程是很有必要的。如在VC上做简单功能界面,Linux系统编程。这可以让你看看别人优秀代码,从中吸取经验,就算看不到源代码,也可以从别人的函数所具备的功能上思考的自己的函数设计,改善自己的函数,我的很多函数功能设计方式就是这么来的。

差不多又是一年时间过去了。真心希望你坚持下来了,到这个时候你基本上已经能独立解决很多问题了。

这个时候我们该去学习什么了了,该去学习“易经经”——C语言描述数据结构与算法分析。在程序的世界里,它就是最高的内功心法,能在里面学的一招半式,就可以行走江湖了。这本书目前我也只是研究过几个章节,在这里面你会看到操作系统的具体实现,文件系统的设计思想等等,各类大型程序设计设计思想。

时间不早了, 今天就到这里了

关于单片机学习,内容远不止这些,上述只讲了单片机的程序设计方面,依据单片机的特片还硬件这一块极为重要,不理解硬件也设计不好程序,下次再谈谈如何学习硬件。对于8位单片机你是否想过, 给它装上一个操作系统,这是我最近一直在思考的问题.

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭