[经验]谈下单片机和嵌入式的学习心得,希望对新手能有些帮助。

首先说一下我自己的一个大概情况吧,我是一个二本学校的,现在大四下期了,马上就要毕业了,学习嵌入式这方面的东西也有比较长的一段时间了。对于LINUX方面,由于我以前是做STM32和μC/OS方面的,所以LINUX方面的知识不是很会,还是个菜鸟阶段,今天主要是想跟大家聊聊大学这几年的学习经历。


我在大二的时候,学完模电数电之后,就到了老师的实验室,跟着一起学习了单片机开发,也跟着老师做过几个项目。当初刚进实验室的时候,看着郭天祥的“十天学会单片机”,也买了个开发板,跟着一起把上面的实验过了一遍。


其实现在很多人觉得51太简单,不重要,不过,我还是觉得自己的那段学习经历对后面的开发还是有很大帮助的,因为对我们来说,只要是做裸机开发的,感觉所以的单片机都一样,就是操作寄存器,我们写程序的目的就是给寄存器赋值或者从寄存器读取值。


这些东西在51里面是比较好理解的,因为传统的51单片机没有库文件的,我们只能用操作寄存器的方式来做开发,这样,能够加深我们对单片机的理解。

学完单片机之后呢,正好碰上老师要用STM32来做开发,于是乎我又去学了STM32,并且在上面移植了μC/OSII,这时候,就发现了一个致命的问题---------C语言。


C语言在我们课堂上面的确学过,但是,就我们学校而言,课堂上面学的东西基本上都是很简单的东西,考试考个90分也就那样,关键的指针基本上没讲。


于是乎我又跑去学了一段时间C语言,当时看的是郝斌老师的C语言视频,指针部分个人认为讲的非常好,学完之后基本上STM32的库文件和μC/OS上面的代码都能看懂了。

大学也就这样,迷迷茫茫的走过来了,一次培训机构的宣讲会(培训机构名字我就不说了,反正是个洗脑式招生。。。),让我了解到了嵌入式LINUX开发,当时非常感兴趣,也差点就冲动到报班去了,后来我就网上搜了下培训机构的口碑,基本上是百分之九十的差评啊。。。


单片机课程包括初级课程(学习单片机的基本原理和初步应用)、中级课程(较为复杂的传感器和伺服马达的应用)、课程(用于比赛的单片机器人的学习)。

自己也就不敢报班了,没办法,自己兴趣在那里,我也就在网上找了些资料,自己啃了起来,由于前面都是一些学习都是看视频过来的,这时候纯粹看文档,感到越来越吃力,又跑去找了视频。后来就看了下韦东山老师的视频(点击下方:阅读原文),感觉还不错,把第一期过了一遍,也买了JZ2440开发板。


最近,也有很多学弟在问我,我们学习嵌入式到底要哪些基础,个人认为吧,C语言是必须精通的,尤其是指针部分和一些嵌入式常用的嵌入式技巧(比如宏、条件编译和模块化编程等等)。


其次,也有很多人问汇编重不重要,就我目前的学习情况来说,汇编其实不是很重要,基本上能看懂汇编代码就没什么大问题了。


还有人问,可不可以不学习51、STM32那些了,直接上手ARM9。我觉得还是可以的吧,前面那些基础能够让你在后面的学习中更加快速,但是,没有那些基础你也可以在后面去学的,计算机原理发展了这么多年,也就两种体系结构吧,所以,原理都是相通的。


现在呢,楼主也还正在学习韦东山老师的视频,感觉讲的还不错,对于我这种初学者来说,还是挺好的。先这样吧,等有机会看能不能再来和大家聊聊学习心得。


当然,楼主现在也是个菜鸟,前面说的不一定正确,发个心得的目的也就是希望能够给大家带来一些思考,学习方法没有万能的,每个人都要用自己的方法,如果现在你学的不够好,那肯定是学习方法不对,前面有错误的地方,还请各位能够指正指正。

关注我们“单片机”,获取更多学习内容!

作者在上一篇文章,总结了在学习单片机的路上的一些注意事项,也给初学者推荐使用仿真软件搭建单片机电路来进行程序仿真的学习方法。感兴趣的朋友可以关注作者同名微信公众号查看文章“教你如何使用Keil与Proteus联合仿真调试单片机程序”,通过文章的介绍的步骤在电脑上安装Keil和Proteus以及获取单片机学习资料,这样学习单片机需要的环境就准备好了,下一步就可以开始学习你的单片机学习之旅。各位朋友可点击上方蓝字关注作者,谢谢~~

生成海报
点赞 0

钟, 广林

我还没有学会写个人说明!

相关推荐

阿尔法系统时钟和外设时钟

一、系统时钟 1.时钟树 I.MX6U 的系统主频为 528MHz,但是默认情况下内部 boot rom 会将 I.MX6U 的主频设置为396MHz I.MX6U-ALPHA 开发板的系统时钟来源于两部分: 3

从单片机到ARM Linux驱动——Linux驱动入门篇

大一到大二这段时间里学习过单片机的相关知识,对单片机有一定的认识和了解。如果要深究其原理可能还差了一些火候。知道如何编写程序来点量一个LED灯,改一改官方提供的例程来实现一些功能做一些小东西,对IIC、