电子产业一站式赋能平台

PCB联盟网

搜索
查看: 28|回复: 0
收起左侧

单片机哪里最难?为什么学了很久还是不懂?

[复制链接]
匿名  发表于 2021-9-12 09:00:00 |阅读模式
你点击蓝字关注,回复“入门资料”获取单片机入门到高级开挂教程
文 | 无际(微信:603311638)
个人原创 | 第 113 篇
全文约1927字,阅读大约需要 10 分钟
大家好,我是无际。

最近很多小伙伴跟我说,自己很笨,学了很久单片机还是不懂,然后就开始质疑自己是不是不适合学习单片机编程。

其实人与人之间的智商并没有太大差别,有差别的只是信息差,简单来说就是别人懂的东西你不懂。

为什么别人学的比你快?可能是因为别人有一套好的学习方法,可能别人比你能静下心来,也可能是别人比你清楚学习路径,还有最重要的可能别人比你努力更多。

我通过一个学员案例给大家说说,这个学员本身40多岁,自己当初也尝试过去学习单片机开发,但是一直学不会搞不懂,不知道怎么上手。

后面来我们报名为他规划了系统的学习路线并且提供了配套课程,过了一段时间,他反应还是看不懂。

看着我们视频连开发环境都装不起来,后面开发环境还是我们一对一远程帮他一边装一边讲解的。



这个时候其实他的学习路径是没错的,只是课程的内容可能对他不太友好,不够零基础。

后面我们又重新录制了一个更适合零基础入门的,他开始慢慢看懂了,我们又给他找了我们认为也适合入门的教程给他。

就是这样死磕了1-2个月,从零基础到自己能写51单片机项目程序,现在大概3个多月过去了,stm32也不在话下,相信很快就能达到独立开发产品软件水平。



我觉得他并不是很灵活的人,也不是很聪明的人,但是绝对是毅力和执行力最强的学员之一。

你一个20多岁小伙子,正是学习能力最强的时候,反正我是绝对不信同样付出情况下你学不过40多岁的。

所以,我认为学习单片机,比所谓基础更重要的是:
1.     真正能静下心来学习
2.     能坚持学习
3.     不向问题低头

我们也碰到很多人随便碰到一点问题,就在那里抱怨全世界的,还有想赶紧学完的找工作的。

这类人,都比较浮躁,不管你去学什么,都些都是禁忌。

有时候你静下心来,专注进去,你会发现效率更高,不信你可以尝试几个小时,哪怕是30分钟。

所以,我一直说慢就是快,并不是空穴来风,都是自己的经验。

以前我做产品的时候,有时候试产出来才发现有问题,马上又要给客户发货了,老板也在那板着脸准备发飙。

我压力贼大,也很着急,然后到处去搜索寻求热心网友的援助,最后都没找到真正能解决问题的答案,来回这样折腾其实更浪费时间。

在这种情况下,我们总是想着怎么找捷径去解决,而忽略了自己静下心去思考。

后面经验丰富了,每当碰到这种问题,都先冷静下来,管他老板脸色多么难看。

先定位硬件还是软件的问题,硬件就找硬件工程师协同解决,软件的话就多在产品上测试,找出问题出现的规律,这样能更好地定位代码BUG的位置。

最后问题也解决了,解决问题的效率也更高了,所以碰到问题不要慌。

下面,根据我10年的经验,来分享下大家在学习单片机一定会经历的难点。

1.看数据手册,特别是英文
对于单片机软件开发工程师来说,只有涉及到单片机控制和通讯的芯片我们才需要去看数据手册,如果是纯硬件的,比如说电源芯片,则由硬件工程师负责,我们一般不需要去看。

一般看数据手册也是有技巧的,我们一般不会从头到尾看,而是只看关键的地方。

我们拿24C128这种EEPROM芯片来举例。

比如说芯片特性:



芯片特性一般也只需要看跟我们写程序息息相关的,比如说通讯方式,一般是两线的IIC协议、EEPROM每一页的大小,这个决定我们页写的时候最大能写多少字节。

还有就是极限特性,比如说内存一共多大,总共可以写多少次,数据能保存多少年,这个都是根据实际产品来考虑的,一般也够用。

再下面就是需要了解下引脚的定义,每个引脚的作用,一般设备地址有几个位的值是由A0和A2决定的。




还有就是IIC的读写时序,一般IIC是标准协议,但是最好也看下芯片手册的需求。




新手理解这个时序可能有点困难,其实IIC网上有很多现成的程序,可以通过这些程序的去理解这个时序,会更好理解一点。

还有读时序这里就不一一展示了,理解的原理都一样。

2.开发板的例程都能写出来,但是很多功能代码组合起来就不会
这个主要是缺少项目经验导致的,项目经验包含了项目思维和代码水平。

也就是功能给你,你需要先有大概的实现思路,然后还要有一定的代码水平把它实现。

这个只能通过项目不断去锤炼,不是一个视频教程,一篇文章能够教会你的。

做它3-5个项目,比你看多少视频教程都强。


3.虽然也做过一些产品,但是代码水平一直处于初、中级水平,总是觉得不够专业
其实你的水平如何,跟你工作了几年,甚至做过几个项目没直接的关系。

就像三极管有饱和区一样,因为你没接触到比你写的更好的代码,你的思维一直处于你的认知范围无法提升。

这个时候只有去接触比你做得更好的人,学习他们的思维,学他们的代码架构。

以上3个我认为是每个人都会碰到的普遍问题。

Ok,今天就分享到这里,如果对你有帮助,麻烦老铁安排个三连,感谢一路以来的支持!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表