欢迎来到凡亿课堂

微信扫码登录
账号密码登录
手机快捷登录

微信扫一扫,关注后即可登录

免费注册 忘记密码?

快速登录

快速登录

注册

Hi,欢迎加入凡亿课堂

长度6-15位的密码

请输入手机号码

+86
下一步 如需帮助,请致电客服:0731-8388-2355
dot
高速高频PCB设计中过孔残桩的影响
dot
单手画板,Allegro鼠标右键Stroke设置
dot
深南电路无锡工厂最新动态;富士康印度iPhone组装业务被迫暂停…
dot
深南电路无锡工厂最新动态;富士康印度iPhone组装业务被迫暂停…
dot
PCB中信号线分为哪几类,区别在哪?
dot
PCB设计阻抗不连续怎么办?别慌,看这里
dot
重磅:集成电路将成国家一级学科
dot
Altium Designer 19盲埋孔的定义及相关设置
dot
PCB中过孔的封装应该如何创建
  • C语言

    嵌入式培训SQLite数据库的用途

    SQLite是一种强有力的嵌入式关系数据库,由D.Richard Hipp开发出来的,可实现数据库必备的一些基本功能。这种数据库在使用上市非常方便的也具有很多特征,在嵌入式培训时,也会学到和接触SQLite数据库的应用和技巧。今天要给大家介绍的是嵌入式培训中可学到SQLte数据库的特征。特征一嵌入式SQLite的源代码开放,在嵌入式开发过程中,开源代码开源减少产品的开发时间,节约成本,同时也利于产品后期的维护和运行的稳定性。特征二嵌入式SQLite具有体积小、速度快的特点,是由万行C语言代码所组成的全部源码,在数据的操作中比流行的数据库系统要快很多。特征三C语言/C++、PHP、Perl等编程语言都可以通过API访问SQLite数据库,与数据库的文件进行通信连接。特征四支持ACID(原子性、一致性、隔离性和持久性)事务。原子性、一致性、隔离性和持久性是支持事务的数据库系统所需的四个特性。交易过程可能不符合对方的要求。SQLite支持大多数SQL92,即触发器、多表和索引、事务、视图和嵌套SQL。SQLite数据库存储在单个磁盘文件中,允许具有不同字节顺序的计算机之间自由共享,并支持大小高达2TB的数据库。以上内容是嵌入式培训中所学习的SQLite数据库的特征,无论你学过还是没有学过,希望能帮助你们学会SQLite数据库的使用,提高你们的开发技术。

    2020-04-16 545 发布人:凡亿教育
  • Cadence Allegro

    Allegro软件中的焊盘制作界面的参数含义是什么呢?

    Allegro软件中的焊盘制作界面。第一页中,钻孔属性参数的具体含义如下所示,如图4-27所示: 图4-27  焊盘制作钻孔面板参数示意图Ø Units:制作焊盘时使用的单位。Ø Decimal places:设置尺寸时可取的精度到小数点后几位。Ø Multiple drill:多孔设置,一般不用。Ø Hole type:钻孔的类型。Ø Plating:钻孔是否为金属化孔。Ø Drill diameter:钻孔的直径大小。Ø Tolerance:钻孔的可容忍公差值,一般不设置,如果器件为压接器件,其对应的孔才须设置,公差值为+/-0.05mm。Ø OffsetX(Y):钻孔相对于焊盘中心横向X轴(纵向Y轴)的偏移值。Ø Non-standard drill:非标准钻孔,一般用不上。Ø Figure:钻孔的孔符形状。Ø Characters:钻孔的孔符字符标识。Ø Width:钻孔的孔符的宽尺寸。Ø Heigth:钻孔的孔符的高尺寸。第二页中,Allegro软件中的焊盘制作界面,焊盘属性参数的具体含义如下所示,如图4-28所示: 图4-28 焊盘制作焊盘孔面板参数示意图Ø Single layer mode:单层焊盘模式,勾选了即为贴片焊盘。Ø BEGIN LAYER:焊盘的开始层,一般指TOP层焊盘。Ø DEFAULT INTERNAL:焊盘的缺省层,一般指焊盘的内层。Ø END LAYER:焊盘的结束层,一般指BOTTOM层。Ø SOLDERMASK_TOP:阻焊顶层。Ø SOLDERMASK_BOTTOM:阻焊底层。Ø PASTERMASK_TOP:钢网顶层。Ø PASTERMASK_BOTTOM:钢网底层。Ø Geometry:焊盘的几何形状。Ø Shape:焊盘使用自己画的Shape时,可指定到选定Shape。Ø Flash:负片层可指定对应的钻孔的Flash文件,一般Regular Pad不用管,在Thermal Relief里指定。Ø Width:焊盘的宽尺寸。Ø Heigth:焊盘的高尺寸。Ø OffsetX(Y):钻孔相对于焊盘中心横向X轴(纵向Y轴)的偏移值。Ø Anti Pad:反焊盘。(以上内容转载于凡亿教育) 

    2020-04-16 759 发布人:凡亿教育
  • Altium Designer

    利用Altium Designer IPC封装向导创建PCB封装

    我们知道作为PCB设计工程师我们在进行PCB设计之前都需要进行PCB封装的创建,但是对于一些新手工程师对于创建的封装的精准数据无法进行判断,并且对一些焊盘的补偿参数不是很明白,导致自己做出的封装只能满足打样或者无法使用的囧状。

    2020-04-15 1905 发布人:郑振宇
  • 单片机/工控

    【朱老师IT充电站】新人到公司碰到不愿意带的师父怎么办

    01问 题前几天有同学痛苦的向我咨询,在新公司遇到不愿意带人还很不耐烦的师父,感觉亚历山大,又不敢跟老大说,该怎么办?我也给了简单的建议。今天想更加具体的来谈一谈这个问题,试图给大家更详细的解读。02为什么公司不愿意培养人很多年轻人,尤其刚毕业走入社会的人,实际上对社会职场关系一无所知,甚至更严重一些对基本的人情世故一无所知,他理解不了为什么别人不愿意带他。其实你换个角度想,别人凭什么带你?客观公正讲:带你是情分,不带你是本分。首先,你得先理清你和公司之间的关系。你是公司雇员,公司是你的东家。你俩之间的关系是雇佣与被雇佣的关系,公司确实没有义务培养你。你仔细想想,你去读大学是要交学费住宿费书本费学杂费的,你是花钱的人,是消费者。老师理所应当给你讲课,给你传道受业解惑,这是你花钱买来的。然而你到了公司,你是赚钱的。公司给你发工资雇用你,本质是公司出钱购买你的劳动力和劳动时间。你觉得公司有义务培养你?找人给你上课?你如果真这样想那就是被惯坏了的天真无邪小红帽,等着社会教你怎么做人吧。有人说不对啊,很多公司都会培养人啊,我应聘的时候也说了公司有培训和晋升制度啊?确实是的,公司为了让你更有价值,更能为公司创造价值,确实会一定程度培养你。但是你得搞清楚:第一,那个不是公司必须做的。第二,那个不是谁都有机会都有资格拿到的(你得先证明你自己)。第三,那个不是所有公司都有的(一般大公司好公司多,小公司少)。所以,首先理清你和公司的关系。不要拎不清,不要怨天尤人。基本上来说只要坚持发工资的公司就算合格公司了。你既然拿了别人的工资,就理应自己努力变合格,变优秀,完成公司分配的任务。所以,本质上讲,学习和进步是你自己的事情,不是公司的义务。再反过来讲,你自己通过学习和公司项目的锻炼,提升了能力和项目经验,然后抓住机会果断跳槽谋求翻倍薪资时,你有想过公司的感受吗?站在公司老板和HR和你的部门老大的角度,难道不是费心费力培养了你然后你翅膀硬了就跑了?既然公司没有权利不让你变强了就跳槽,那公司自然也没有义务培养你变强。这世界上唯一无条件对你好的恐怕只有你父母和你父母的父母了。03为什么师父不愿意带人09年我刚参加工作时听到了两句虽然不全面但是确实有一定道理的话。第一句是:工资是跳出来不是涨出来的,第二句是教会徒弟饿死师父。工资和跳槽这事以后另外写文章再说,今天只聊徒弟师父这事。一般新人(尤其应届生)到公司都是基本岗位,公司都会分配一个“师父”给你,这个人会“带你”。很多应届生很容易把这个所谓“师父”和大学的辅导员老师关联起来(我当年就有点这种感觉),但是大错特错,完全不一样。辅导员那真是“老师”,他的工作就是教导你,他的考核指标也都是和“教导你”相关的。而且还是那句话:在学校你是消费者,是花钱的大爷。在公司你是拿钱的,完全不一样。公司的“师父”其实就是比你资深的和你一样的公司员工,他也有他的工作,有他的任务,有他的绩效。“带你”这个活其实就是老大指派给他的额外劳动,他根本没有任何好处(不是绝对,有些公司会有些带新人的补贴,但非常少公司才有),打心眼里也根本不想带你。他为什么不想带你?一个是教会徒弟饿死师父的心理,这个心理其实没有太多道理,但是确实在职场很流行。你想啊你掌握了你“师父”的所有技能,熟悉他负责的项目的前前后后,极端情况下你就可能成为他的替代品啊。譬如说公司要裁人,老大觉得你也有你“师父”的60-80%功力了,而你的工资远比他低。那行吧,裁掉你“师父”留下你吧。这就是典型的教会徒弟饿死了师父。任何一个人,他的稀缺性和不可替代性越丧失的多,那他的个人价值就越小,他就越危险,所以师父不愿意带你。这是原因之一。其二是他嫌麻烦,这也是很正常的心理。你想想你好好上着班,工作已经很多了还要经常加班996,还给你分配个新人什么都不会什么都不懂,帮不上你什么忙还净给你添乱。问这个问那个全是很无聊弱智的问题,你肯定很不乐意啊。你如果不能理解你就想想你大学时放暑假回家,你爸把你舅舅家上小学的小表弟拎过来说,叫你大学生表哥带带你,天天给你讲讲题,你有不会的问他。你是不是也很烦?关键你小表弟(或者说他背后的你舅舅)还不给你钱,不给你买好吃的,不给你买新手机做为奖励和补偿,你说气人不气人。实际上带人还有很多负面,譬如说新人犯了错或者跟不上,老大就会找带人的“师父”问,你咋回事啊?带带他啊?很烦。新人带好了也没奖励,还对自己产生威胁。带不好了还惹麻烦,零碎事儿又多,所以谁愿意接这差事啊。你如果工作几年就会明白,“老家伙们”闲聊的一大话题就是互相吐槽新人小白的种种无脑笑话。04问题本质剖析这个问题的本质实际上还是利害关系。人都是活生生的人,不是圣人,所以你得从人性角度去理解,才能知道如何去破解。首先是公司希望你能提升能力,并且尽快熟悉公司产品和技术,尽快能干活,所以让你“带你”。但是公司没有合理的“带人制度”,所以带你的师父是老大随意指定的,这个师父他和你不熟,和你没有私人交情,而且他带你这件事也和他的主要绩效考核没关联,所以他带你对他是“坏事”而不是好事。所以最后的结果就是很奇葩。老大觉得老的新的都是刺头,不好管理,头大。带你的师父觉得倒霉催的摊上烂事烂人,管他呢。你觉得很委屈,刚去什么都不懂还没人管,问一下“师父”人家很不耐烦,就差把你当要饭的轰走了。是很奇葩,但合情合理。05如何解决理清了问题的根源,也就知道如何解决了。首先,把解决问题的责任和义务放在自己身上,而不要寄希望于老大能帮你说服(更不能是压服)师父,更不要寄希望于换一家公司换一个师父就能变好。时刻谨记,你去公司是拿钱的一方,拿人钱财就有义务替人消灾,拿人钱的就手软,不要领着工资还理直气壮干不了活,还觉得别人就应该教你带你。这种想法太天真。找工作之前就多学习,掌握足够的技能,否则到了公司才难受,天天上班跟上坟一样心情沉重。这就好像学车考驾照一样,很多人只是凑活练一练拿到了驾照,殊不知你将来真正买了车上路的时候才是你难受的时候,到时上路变个道都能难死你,撞了更难受。在岗位上更要多学习,自己多下功夫。很多同学都向我反馈过刚上班给一堆代码看不懂,很难受,怎么办?其实我当年也是这样走过来的,我相信每个人都是这样走过来的,只有去啃啊,不然怎么办?每一个爸爸也都曾经是小孩,但是你当了爸爸就没权利去软弱去逃避责任了,人总要长大的,而职场上长大的办法就是啃硬骨头,爬高山。其次,外部助力要尽可能去建立,去利用。什么是外部助力?网络上加相关的学习群,请教些“乐善好施,乐于助人”的网络上不认识的好心人(我当年就是这样学习的,现在打字速度就是当时聊QQ练出来的)。网络真的是个好东西,这个人和你素未蒙面但是就有可能花几个小时帮你解答一个问题。你的同学也是你的助力,当然我指的是比你厉害的那些同学。譬如我当年遇到一个问题,我隐约记得是做一个指纹锁的产品,要存储很多人的指纹数据,就咨询了我一个同学。这个同学大学时计算机就很厉害,而我大学时完全不懂编程这些。他建议我用数据库,于是乎自己去查了很多,从此以后就多了一项数据库的技能。所以同学也是很好的助力。但是记得只让别人给建议就行了,主体还是自己去做,别缠着别人帮你做,人家也有自己的工作的。你月底领了工资怎么不转给同学一半?人家凭什么帮你做?最后,你的老大和你的师父也是你的助力。既然他没义务帮你,那你就想办法让他帮你啊。靠什么?人际关系。06人际关系很重要你的老大和你的师父等,他们没义务帮你,意思是公司并没有强制要求他们必须帮你,他们不帮你也没法惩罚,他们帮了你也没有好处。这就是没义务。但是你可以通过经营你和他们之间的个人交情,也就是人际关系,来让他们帮你。如果你的老大或者你的师父觉得你是他们个人之间的朋友,撇开公司同事这层关联,你们个人之间已经有感情了,那他肯定会帮你,至少会一定程度内帮你。工作过几年之后你就会发现,这些善于经营人际关系,能够和新老同事和领导下属都搞好关系的人,都在公司混的风生水起,都会得到额外的好处。这其实很正常,人是感情动物,有好处肯定想着和我熟,和我关系好的人嘛。所以你作为新人,给你分配个“师父”,你最好能想办法主动去经营好你和这个“师父”的师徒关系。你得让师父开心,你得对师父尊敬,你下了班可以和师父一起吃个饭喝点小酒,师父吹牛皮的时候你适当表示下好奇心和崇拜感和向往,师父吐槽什么的时候你得适当表示支持和赞同。还有很多,自己要多体会多琢磨。如果你能成为“师父”的自己人,他还会不带你吗?如果师父周末搬家能叫上你去扛东西,完了请你吃个饭。如果师父周末和兄弟打球能喊上你,完了再一起吃个饭。你还愁他不会带你?他恨不得对你掏心掏肺,把你当自己的亲弟弟。By the way,如果你能和老大(领导)也处的很好,那大概率以后升职比别人快。07最后总结一下,废话半天其实就是想说两点。第一:成长是你自己的事,别人没义务帮你,自己多努力。第二:想让别人帮你那就要自己会做人,良好的人际关系是职场很大的助力。今天要讲的就这些。最后,我还想啰嗦几句。我并不是教你“阿谀奉承,巴结领导”,更不是教你“背后小动作,只搞关系不干活”。普通职场,尤其是IT行业,没有你想象的那么勾心斗角惊心动魄,就是一群IT直男在一起996而已。能力是立身之本,社交是重要助力。

    2020-04-15 1063 发布人:朱有鹏老师
  • C语言

    【朱老师IT充电站】程序员们赶快醒醒,提升认知比不停写代码更重要

    1.背景上篇文章《我做单片机几年要不要转嵌入式》,主要讲了单片机和嵌入式开发的行业差异,并且建议有丰富经验的单片机开发者尽早学习嵌入式linux开发技能,为继续提升薪资天花板和转型做积累。后来有一位同学给了这样的留言,我认为很有代表性,肯定有不少人也是类似的想法(虽然没有说出来)。在此首先感谢这位同学以及其他同学的留言评论,我鼓励大家看完文章写下自己的心得体会和意见建议,我每次都会及时回复,并且从这些留言中也能发现问题,并和大家及时互动,转发出去让更多人看到。以上是背景,今天正好群里也在讨论类似问题,每次这种讨论总是各执一词争论不休,甚至会发生争吵,脸红脖子粗。怎么办?我们究竟应该怎样对待这样的对比和评价?2.你应该知道认知这个词今天介绍给大家一种新的世界观,叫“认知”。我第一次感受到认知论,是在刘润老师的公众号,瞬间醍醐灌顶茅塞顿开,立马就路转粉了。从认知的角度理解事物,你会发现很多矛盾并非不可调和,你会发现很多以前纠结的问题立刻有了答案。而我们今天要讲的对评价的认知我也是从刘润老师那里学到的,在此对刘润老师表示感谢。这篇文章虽然是我一个字一个字敲的,但是原创思想却是刘润老师的。什么是“认知”?就是你理解问题,看待别人,看待外界事物的方法论。在我看来,认知无关乎道德,而纯粹是一种思维技巧,而且很有用,对人的帮助很大。今天咱们就从认知角度解释下上面那条评论,希望大家能有所收获。3.一个人说的话分四类刘润老师说过:一个人说一句话,有可能有四种类型,分别是观点、事实、立场、信仰。你要评价他说的对不对,好不好,你要决定如何回复他,你先得搞清楚他刚才说的话到底是以上四种的哪一种。观点,就是你从主观出发的表达。观点是你自己的理解,你的结论,你的表达,是你自己的大脑产生的,你当然会支持的。但是观点不一定正确,毕竟每一个人都可能理解错误。譬如我说“这个世界上没有鬼神”这就是一个观点,代表我的个人观念。而你可能认为这个世界上是“有鬼神的”,这是你的观点。都不见得正确,但是咱俩都有权发表并坚持自己的观点,这是我们每个人的言论自由和理念自由。事实就是客观上正确的东西,就是能被证明的或者普世性的正确结论。譬如“地球是圆的”,或者“地球绕着太阳转”这些就是事实。不管你信不信,不管你能不能亲眼看到,它就是事实(至少普遍意义上认为它是事实)。立场就是一个人站在某个位置或者时间点上,他代表的角色必须秉持的观点,必须坚持的结论。譬如你是大楼的物业经理,天气很热但是按照公司规定不能开空调,租户问你你热不热?其实你很热但是你不得不说“我觉得一点都不热啊”。因为你知道你说热就得开空调,甚至你如果不是物业经理而是租户可能早就跑去闹着要开空调了,但是你站在物业经理的立场上,你就得说“我不热”。这就是立场。信仰就是宗教信仰或者所谓革命信仰,或者民族信仰。信仰是一种心理上的归宿,信仰是不讲道理的。譬如佛教徒他就坚信佛是存在的,人是有前生来世的,今生造孽来世要遭报应的。而基督教徒坚信耶稣是存在的,你犯了错只要诚心祷告神就会原谅你,等等。而我等共产主义者不信鬼神,我们坚信只有共产党才能救中国,才能实现中华民族伟大复兴。观点不一定是事实,立场会让人说“假”话,信仰会让人“毫不讲理”,只有事实是真正的客观的冷冰冰的事实。所以当一个人跟你讲一句话时,你先好好想想,他这句话表达的究竟是以上4种的哪一个。4.智者如何应答别人究竟怎么应答别人说的话,才显得我们“睿智、聪明、够朋友、会聊天”,又能启发和帮助到其他人呢?当你判断别人是在表达“观点”时,你可以首先表示赞同。“我觉得你说的对”,“你这个观点很有意思”等话语先讲出来,别人马上心理就放松了,并且对你产生了认同。如果他的观点你确实是认同的,那你可以用你自己的语言再组织表述及补充说明,这样两个人就会越谈越开心,越谈越互相认可。那如果你觉得他的观点不对呢?还是需要先赞同,然后再说:不过我觉得xxxxx,你觉得呢?或者:如果xxxx是不是更合适呢?这样对方至少不会和你吵起来,甚至极有可能对方会马上改变观点赞同你,这样你就愉快的帮助朋友纠正了观点,并且收获了更多的友谊。当你判断别人是在表达“事实”时,这没什么好说的,就是事实本身而已。如果他说的对那就赞同,如果他说的不对那就直接修正。当一个人表述“事实”时犯错(譬如把圆周率π记错了,或者不小心说成了地球是绕着月亮转的)是可以被纠正的,你纠正他他不会生气,相反会感谢你帮他纠正。当你判断别人是在表达“立场”时,你应该理解他的处境和无奈,并且选择支持他,或者至少不要试图反驳他。如果你觉得他说的是对的,那就“附和并支持”他;如果你觉得他说的是错的,那你就别说话了。因为他站在“立场”角度表达的也不见得是他自己心里的话,但是他不得不这么说。你千万不要跑去跟他争论,尤其不要指着他鼻子让他“摸着良心说话”。如果你真的这么做,那你已经失去了这个朋友,因为他觉得你“拎不清”。当你判断别人是在表达“信仰”时,无论如何你都该表示赞同,并且不要试图反驳和修正,因为完全没有必要。因为信仰是不讲道理的,信仰是超越了一切的。你如果跟一个佛教徒争论有没有因果报应,纯属吃饱了撑得。你根本无法说服他,因为那是他的信仰。5.回到单片机还是嵌入式的选择问题请你回顾一下文首同学的留言,你觉得他表达的是以上4种哪一个呢?实际上在这里是看不出的,因为只是一个留言,而且这个同学我不认识,也没有更多的交流,所以很难确定他究竟要表达哪一种意思。但是咱们不妨假设一下。首先这个肯定不是事实,因为究竟选择单片机路线还是嵌入式路线根本就不可能有事实,这个不是“你死我活”的选择,不是“非对即错”的选择,无所谓事实。那如果这是一个观点呢?如果是我我会选择尊重。因为既然没有绝对的事实和对错,那么每个人有权选择自己的路子和未来规划,为什么不尊重别人呢?如果这是一个“立场”呢?有没有可能一个人因为自己一直多年在从事单片机开发,他就本能性的反对你对单片机的任何“贬低”和对嵌入式的任何“抬高”呢?这完全是有可能的。就像这个同学留言说的“你可以推销你的嵌入式linux课程···”,实际上可以看出他认为我的文章本身是一种立场了,但是实际上我那篇文章本身不是立场,最好的反驳就是:我实际上录制了2套系列课程,一套嵌入式linux的,一套单片机(51+STM32+RTOS+HAL库)的,所以我的立场不可能是贬低单片机抬高嵌入式的,手心手背都是肉啊。那有没可能这是一种信仰呢?我觉得这个倒不至于,只是技术技能而已,应该还不至于有人上升到信仰的高度?我认为很少有事物值得上升到信仰的高度(是的,这句话是一个观点)。6.不要让技术成为你的立场技术是技术,你是你。不要因为过去的经历而把你自己和技术深度长久的绑定,更不要因为已经掌握的技术而影响你的立场,进而影响你的判断和决策。技术本身会快速发展和迭代,任何技术刚出现时都处于高价值期,这时候市场上熟悉这项技术的人少而需求多,所以技术就会溢价,体现为高工资。譬如2014、2015年左右的Android app开发和ios app开发,那时候零基础培训机构4个月出来都能轻松月薪过万甚至过两万,真是个疯狂的好时候。但是随着技术的成熟和熟练技术人员的积累和增多,同时因为行业成熟开发工作量减少坑位变少,技术就会不断贬值,体现为行业工资逐渐变低。2018年左右开始Android app和ios app开发行业的薪资就明显开始下滑,工作机会也在减少,导致很多人不敢换工作,不敢犯错,生怕离开这个坑再拿不到这样的薪资。嵌入式开发也会有类似情况。譬如十年前正值芯片行业大发展,所以需要大量的底层驱动开发人员,那时候嵌入式linux驱动开发是最炽手可热的工作。然而在今天这一波硬件爆发期已经趋于平息,芯片原厂的SDK已经提供了足够成熟的底层支持,所以产品开发中主要工作量在由底层驱动向上层应用转移,所以驱动工程师的岗位少了很多(但是因为难度大,所以岗位薪资仍然很高),新人已经很难再大量进入linux驱动开发岗位了。其实也没有必要进入了,因为每个时代都有自己的宠儿。在当下视频编解码,视频流媒体网络传输,物联网操作系统,物联网协议栈,自动驾驶,人脸识别与AI、网络安全等新兴技术应用又成了骨头硬肉肥嘴又少的“溢价”技术。只要你够实力,只要你肯努力,这些技术领域都会给你足够的回报。7.最后所以,最后再强调一遍:不要因为过去所从事所掌握的技术而影响你的立场。对于技术的更迭你的立场应该是中立的。如果你会单片机就听不得别人说单片机天花板低工资很难拿高薪(当然了我们说的是普遍性,不要说某某做单片机月薪3万,猎头都给我安利过深圳市国民技术的单片机固件开发年薪60万的岗位,我当然知道单片机也可以拿高薪),这完全没必要。如果你是做嵌入式linux的,就听不得别人说做互联网工资高,这完全没必要。技术就是技术,我是我。如果我确实觉得手头的技术不合适,我应该有更好的选择,我会立刻扑向下一个更有价值的技术。小孩子才做选择,成年人我当然是全都要了。为此我愿意付出不断学习的辛苦,因为这是提升自我价值的代价!

    2020-04-17 867 发布人:朱有鹏老师
  • Linux

    【朱老师IT充电站】我做单片机几年要不要转嵌入式

    01问题首先确认下,我们这里讲的单片机主要是指51、STM32、MSP430、PIC、LPCxx等各种单片机开发工作。而嵌入式主要是指嵌入式linux软件开发,也就是硬件上基于嵌入式ARM、MIPS等平台,软件上基于linux系统的驱动开发、应用开发等工作。围绕单片机和嵌入式的经常被问及的问题有2个:一个是针对有意入行的新人(尤其是大学生),经常问我到底应该学单片机还是学嵌入式?我应该找单片机工作还是嵌入式工作?我想做linux驱动然而只找到一个STM32开发,那我去不去?另一个是针对多年(一般2-10年)单片机老工程师,在多种压力(工资不涨、感觉自己能力无法提高、找不到更好机会跳槽、中年危机等)下痛苦思考,我是不是应该学嵌入式?我继续做STM32还有前途吗?我怎么才能打破现在的僵局人生再跃迁一次?02影响薪资和职业发展的关键先不说你怎么选,怎么办?我们先common的说一下影响个人薪资和职业发展的重要因素。我们琢磨来琢磨去不就是为了职业发展更好,薪资更高吗?短期来看,影响个人价值的一个重要因素是行业。雷布斯有一句名言:站在风口上,猪都会风。所以说行业对人的影响是很大的,你要是刚好站在了风口上就是自己真的蠢的和猪一样,真的也能飞。所以古人也说了:男怕入错行。但是问题是行业好坏是你自己无法决定的,这个真的很重要。很多人没意识到这点,总觉得自己能运气好,能踩对点,殊不知都当了韭菜。尤其现在社会变化太快了,你根本很难反应,所以靠选对行业来实现个人价值增长,就和短线炒股想暴富一样,最后肯定是“天台见”。记住结论:影响你薪资的外部因素就是行业,但是不可控。长期来看,影响个人价值的还是自身素质。而且这个是可控的,可自我维护的。那什么是自身素质?知识、技能、认知水平、习惯、意志、个人追求等。知识是最低要求,如果知识都不具备就是文盲,根本没有竞争资格。技能是稍微上一个台阶的东西,技能让你在某个行业可以建立竞争力。认知水平是更上一个台阶的东西,让你开始思考和认知世界。后面的习惯意志和个人追求是一个人自我觉醒后真正能自律,能自我驱动,能为了理想去奋斗的支撑力。90%的人的人生其实都在前3个阶段,甚至是前2个阶段。至少当你在拿一份薪资打一份工,或者做个小生意谋生的时候,只需要前两三个阶段的内容。而后三个素质是你开始创业,开始试图带领一批人实现自我理想时才需要的。记住结论:影响你薪资的自我因素,主要就是你的知识和技能,外加少量认知。03新手应该选择单片机还是嵌入式如果是一个新手,应该选择学单片机还是嵌入式呢?这个问题并没有唯一标准答案。为什么?因为所谓的“新手”、“零基础”等描述太模糊了,根本无法描述一个人。清华大学电子系大一新生也是零基础新手,某二本或者专科电子系大一新生也是零基础新手,这两个人做选择能一样?所以不要怪我不直接给你答案,你想让我帮你做决策,至少你得认识我,我得知道你什么情况才行啊。你生病了不去医院不做检查医生怎么知道给你开什么药?那怎么自我诊断呢?其实也不难。假如你基础不错,学习能力挺好,也能控制住自己主动学习,而且离找工作还有一年或以上(至少也得大半年),那你可以考虑直接学习嵌入式。因为你的起点和动能是足够的,直接学习嵌入式能给自己更好的行业基点,所谓一步早步步早。假如你基础一般,学习能力和理解能力也一般,而且学习中经常控制不了开小差,或者你已经几个月不到一年就要找工作了,压力迫在眉睫,那我建议你先学单片机了。因为单片机确实入门难度小一些,而且工作岗位相对多一些,岗位对人的要求也低一些(同样的薪资起点也低一些......),所以你先学单片机至少胜算多一些,找到工作概率也高一些。所以说,到底是学单片机还是嵌入式,其实关键在于你自己的自身情况,而不是行业情况。如果你考虑问题时只分析外在,不管内在,那你也太有自信了吧?04单片机做了多年要转嵌入式吗这还用问?肯定是立刻赶紧马上开始学嵌入式啊,quickly,quickly,fast!!!注意啊,我说的是开始学,不是转。学的意思是学习嵌入式知识,掌握嵌入式开发技能,让自己具备去做嵌入式项目的能力,最好能积累到实际经验。而转的意思是公司内部转岗或者跳槽找新的嵌入式linux软件开发(驱动开发或应用开发)的工作。学是学,转是转。学是为转积累能量,积累资本。而转是先学了先有了能力,再伺机而动,找到好机会纵身一跃。注意抓重点,重点就是要先学才能转。经常有人问我:老师,我做单片机好几年了工作也没啥意思,也感觉不到进步,想转嵌入式又没有路子,越来越焦虑,怎么办?我心想你真是活该。社会有责任有义务给你提供路子让你转啊?那你娶不到老婆是不是还要国家给你分配一个?你想娶老婆首先要做的肯定是去相亲啊,你都不相亲竟然还想直接弄一个老婆,还说没路子?这要有路子除非去拐卖。从单片机到嵌入式,其实是一个人个人职业生涯的自然升华和跳跃。我说的自然的意思不是说你不用做什么就自然有了,我说的自然的意思是你应该努力去学习去进步让这个过程自然发生。自然发生就是上文说的“先有了能力,伺机而动,找到好机会纵身一跃”。机会是给有准备的人的。其实世界上完全不缺机会,缺的是去把握机会的能力。缺的是做好了准备来迎接机会的人。所以如果你想转嵌入式,那你应该赶紧开始学啊。跳不跳槽的以后再说,但是你得先去学习,让自己具备这份素质,这份能力啊。不然天天搞单片机,到了一定时候自然感觉不到进步了啊。与物联网项目经理的聊天记录截图05单片机比嵌入式的优势单片机其实就是嵌入式linux的初级阶段。或者说嵌入式linux就是更难一些,更复杂一些的单片机开发。所以这2个东西渊源很深,所以经常拿来比较。如果非要说优势,单片机比嵌入式的优势就是:技术门槛低,工作机会多。技术门槛低是说单片机相对好学,单片机本身复杂度没那么高,尤其是51单片机这种,可以说真的可以“零基础”去学会。当然了,并不是说单片机就是“低智商”,我们说的简单是相对的,准确说是相对嵌入式linux来说的。也不是说单片机开发就都是很简单很无脑,没有任何技术含量。并不是的,实际上单片机开发也可以很复杂,譬如火星车、大疆无人机等都是单片机做的,最近很火的美国医疗公司开源的呼吸机主控也是单片机的。所以做单片机的别着急骂我,我不是要贬低单片机开发,我只是说从零基础到入行单片机能找到单片机开发工作,需要的难度相对更低。工作机会多是说整个社会单片机开发工程师的岗位数更多,招的人更多。因为单片机应用面很广,就光一个小家电行业就需要N多单片机工程师了。单片机开发这2个优势很大,所以很多电子系相关专业的人后来都入行单片机了。所以淘宝上单片机开发板销量最大(相比嵌入式、FPGA、DSP、FPGA等)。这都是有原因的,需求决定了供给。所以如果你虚,那就选单片机。如果单片机你都学不会,找不到工作,那试试换老师换课程。如果多番尝试(尤其是听过我们的单片机课程)之后还是不能学会,那建议趁早转行。真的,转行不丢人,转行也不是鄙视你。不是每一个人都适合做IT,不是每一个人都要做研发。做研发有什么好牛逼的啊,我看人不懂技术做销售也有赚的很多的啊。所以如果你不适合做技术真不必勉强。06单片机比嵌入式的劣势单片机比嵌入式最大的劣势就是:天花板太低了。做单片机开发普遍瓶颈会出现在月薪1-1.5万区间。也就是说大多数人做单片机软硬件开发,月薪1-1.5万就是最高了,很难再升上去了。有些人可能得用十几年才能达到这个水平,而有些人可能两三年就达到这个水平了。但是不管你是多久达到这个水平,99%的单片机开发者往后就没机会再前进了。为什么?是你不努力了吗?是你水平没进步了吗?是你业务不熟练了吗?都不是,而是这个行业、这个工作他本身的价值就这么多。你想想,就算你做这个5年了10年了,但是如果一个工作3年月薪1万的人就能搞定这个工作,老板凭什么给你月薪1万5?他为什么不辞退你然后外面另外找个月薪1万的来顶替你呢?很多人觉得我工作经验时间越长工资就应该涨,纯属无稽之谈。你搬砖搬10年跟刚来的搬砖的有什么区别?纯粹用所谓的“工作经验”(其实应该叫“工作年限”)来评价自己的价值是完全的一厢情愿,老板和HR绝对不这么想。而嵌入式linux相关的开发天花板就要高很多,月薪1-1.5万其实才算刚上路。年薪20-30万左右是真正能干活的嵌入式linux工程师的正常水平。大多数人只要不虚度,不混日子,做嵌入式linux3-8年都能达到这个水平。再往上那就要看综合实力了。所以你看,从大多数人的天花板这个角度来说,单片机的上限比嵌入式低一个大层次。这就是单片机相对于嵌入式的劣势。07最后怎么选才是最好的?很简单。如果你够厉害够自信够狠,那就直接嵌入式linux,完全可以跳过单片机这个阶段。如果你稍微虚点,那就迂回战略。先攻占单片机这个山头,用一两年或者两三年站住了站稳了拿到10k左右的行业中高水平了,感觉没有太多提升了。然后迅速自主的去学习嵌入式linux,继续下一阶段的爬升。注意我这里说的是“自主”学习。所谓自主,就是公司没有项目需求你也去学,公司不给你报销学费你也去学,公司工作很忙你也利用晚上和周末时间去学。这才叫自主。你学习不学习,进步不进步是你自己的事,公司没有责任和义务帮助你成长。所以你如果抱怨说在公司没机会接触嵌入式,自己上班又很忙没时间去学,那活该你一辈子做单片机赚那点钱受可怜。总有人问选择大于努力还是努力大于选择?反正问我的人里我觉得90%的根本没资格问这个问题,因为你根本没努力过。所以你问我这话,就好像问我:我早上起床去搬砖,走哪条路能捡到钱?

    2020-04-15 644 发布人:朱有鹏老师
  • 单片机/工控

    牢记这八条单片机学习不再难

    怎么学单片机?也常看到有人说学了好几个月可就是没有什么进展。当然,受限于每个人受到的教育水平不同和个人理解能力的差异,学习起来会有快慢之分,但我感觉最重的就是学习方法。一个好的学习方法,能让你事半功倍,这里说说我学习单片机的方法。1、万事开头难、要勇敢迈出第一步。开始的时候,不要老是给自己找借口,说KEIL不会建项目啦、没有实验板啦之类的。遇到困难要一件件攻克,不会建项目,就先学它,这方面网上教程很多,随便找找看一下,做几次就懂了。然后可以参考别的人程序,抄过来也无所谓,写一个最简单的,让它运行起来,先培养一下自己的感觉,知道写程序是怎么一回事,无论写大程序还是小程序,要做的工序不会差多少,总得建个项目,再配置一下项目,然后建个程序,加入项目中,再写代码、编译、生成HEX,刷进单片机中、运行。必须熟悉这一套工序。个人认为,一块学习板还是必要的,写好程序在上面运行一下看结果,学习效果会好很多,仿真器就看个人需要了。单片机是注重理论和实践的,光看书不动手,是学不会的。2、知识点用到才学,不用的暂时丢一边。  厚厚的一本书,看着人头都晕了,学了后面的,前面的估计也快忘光了,所以,最好结合实际程序,用到的时候才去看,不必说非要把书从第一页看起,看完它才来写程序。比如你写流水灯,完全就没必要看中断的知识,专心把流水灯学好就是了,这是把整本书化整为零,一小点一小点的啃。3、程序不要光看不写,一定要自己写一次。最开始的时候,啥都不懂,可以抄人家的程序过来,看看每一句是干什么用的,达到什么目的,运行后有什么后果,看明白了之后,就要自己写一次,你会发现,原来看明白别人的程序很容易,但到自己写的时候却一句也写不出来,这就是差距。当你自己能写出来的时候,说明你就真的懂了。4、必须学会掌握调试程序的方法。不少人写程序,把代码写好了,然后一运行,不是自己想要的结果,就晕了,然后跑到论坛上发个帖子,把程序一贴,问:为什么我的程序不能正常运行?然后就等别人来给自己分析。这是一种很不好的行为,应该自己学会发现问题和学会如何解决问题。这就需要学习调试程序的方法,比如KEIL里,可以下断点啦,查看寄存器内容等等,这些都是调试程序的手段,当你发现你写的程序运行结果和你想象中不一样的时候,你可以单步,也可以下断点,然后跟踪,查看各相关寄存器内容,看看程序运行过中是不是有什么偏差,找出影响结果的地方,改正过来。这一个过程非常重要,通过程序的排错,你可以学到的知识是书上得不到的。5、找到解决问题思路比找到代码更重要。我们用单片机来控制周边器件,达到我们想到的目的,这是一个题目,而如何写出一个程序,来控制器件按你想要的结果去运作,这个就是解题的思路。要写程序,就得先找到解决问题的思路,你学会找出这个解题思路,比你找到代码更为重要。不少人很喜欢找人家的代码,有的人甚至有了代码就直接复制到自己的程序中,可以说,这不是一种学习的态度,无助于你编程水平的提高。我几乎不怎么看人家的代码,多数时候是看别人的思路,有方框图最好,没有的话文字说明也可以,要从代码中看出别人处理问题的思路,是相当困难的,特别是大型的程序,看起来是非常的累人,所以现在我也明白了,以前读书时说的程序流程图很重要。当你知道一个问题怎么去解决了,那么剩下的只是你安排代码去完成,这就已经不是什么问题了。6、开动脑筋,运用多种方法,不断优化自己的程序。想想用各种不同方法来实现同一功能。这是一个练习和提高的过程,一个问题,你解决了,那么你再想想,能不能换种写法,也可以实现同一功能,或者说,你写出来的代码,能不能再精简一点,让程序执行效率更高,这个过程,就是一个进步的过程。很多知识和经验的获得,并不是直接写在书让你看就可以得到的,需要自己去实践,开动脑筋,经验才能得到积累,编程水平才能有所提高。7、看别人的代码,学习人家的思路。这个在学习初期是很有用,通过看别人的代码,特别是有多年编程经验的人写出的具有一定水平的代码,可以使自己编程水平得到迅速的提高,同时,也可以结合别人的编程手法,与自己的想法融合在一起,写出更高水平的代码,从中得到进步。但要注意,切忌将学习变成抄袭,更不是抄袭完了就认为自己学会了,这样做只会使你退步。8、尝试编写一下综合应用的程序。从流水灯学起,到动态扫描,再到中断,那么,你可以试试写一下时钟这种综合性应用的程序,不要小看时钟,要写好它不是一件容易的事情,它包括了单片机大部分的知识,比如有按键(IO读取)、动态扫描(IO输出)、中断等,如何协调好各功能模块正常工作,才是编程者需要学习的地方,当你单独写一个功能的时候,比如按键读取,你可能感觉很容易。因为你的程序啥也不做,只是读按键。但把它和其它功能混合在一起,如何在整个程序运行中使每一部分都正常工作,这就不是写一个按键读取这么容易的事情,功能模块之间有可能会互相影响,比如你需要让数码管既能显示,又要去处理按键读取,怎么使这两部分都正常工作,这就是一个协调过程。当你有了这个处理协调能力,你就算是入门了。

    2020-04-15 632 发布人:朱有鹏老师
  • Cadence Allegro

    如何使用模型添加法设置相对传输延迟的等长规则呢?

    今天我们讲述一下如何使用模型添加法去添加相对传输延迟的等长规则,具体的操作步骤如下所示:第一步,打开规则管理器,执行菜单命令Setup-Constraints,在下拉菜单中选择Constraint Manager,如图5-99所示,进入到规则管理器中; 图5-99 规则管理器示意图第二步,进入到规则管理器之后,在CM左侧的目标栏中选择Net,在Net中选择相对传输延迟选项Relative Propagation Delay,如图5-100所示; 图5-100 相对传输延迟设置示意图第三步,选中一根需要做等长其中一根信号线,点击鼠标右键,选择SigXplorer进行模型分析,如图5-101所示; 图5-101 模型分析设置示意图第四步,弹出的如图5-102所示的界面,显示了该网络的链接拓扑结构以及网络的连接关系,如图5-102所示,U7与U15表示是的是元器件,下方的A2与193是器件的管脚标号; 图5-102 信号走线拓扑结构示意图第五步,执行菜单命令Set-Constraints,设置规则即可,点击之后弹出如图5-103所示的界面,在这个界面进行规则的设定; 图5-103 规则设定窗口示意图第六步,进入规则设定以后,我们需要选择相对传输延迟,选择Rel Prop Delay选项卡,在规则名称一栏中输入“MG_DDR_D”,From与To的选择框不用手动去填写,在左侧的拓扑结构中直接选择即可,其它设置参数如图5-104所示; 图5-104 规则参数设置示意图第七步,设置好规则以后,点击Add按钮,在规则窗口Existing Rules中就新添加了一个相对延迟的规则;第八步,添加好规则以后,需要更新规则管理器,这样规则才会更新到规则管理器中,执行菜单命令File-Update Constraints Manager或者是单击Update CM的按钮,效果也是一致的,更新以后,回到规则管理器,就会出现我们刚才添加的规则,如图5-105所示; 图5-105 约束模板示意图第九步,上述的操作,就成功添加了一个模型,我们还需要将这个模型应用到其它相同拓扑结构中去,如图5-106所示; 图5-106 应用模板示意图第十步,应用模板以后,所有相同拓扑结构的网络都会自动添加到等长的集合当中,如图5-107所示,这样所有的等长规则就已经全部设定好了;图5-107 模型添加法完成示意图第十一步,应用好所有的模型之后,所有的需要等长的信号全部出现在等长列表中,按照直接添加法中的设置一样,设置好目标线,回到PCB界面进行等长即可。上述,就是在Allegro软件中如何通过模型添加的方法,去添加相对传输延迟的等长规则的方法解析。(以上内容转载于凡亿教育) 

    2020-04-15 719 发布人:朱有鹏老师
  • Cadence Allegro

    Allegro16.6怎么降低版本?

    在设计过程中,有时候会遇到。版本过高而打不开的情况。这个时候就需要去降级版本了。那么就可以用下面的这种方法来实现。 一、打开想要转换的16.6版本BRD文件,点击File 选项下面的Export,点击 Downrev design。        二、点击完以后弹出如下对话框,选择自己想要保存的版本保存即可。       三、点击SAVE即可保存,手动输入一个命名即可保存成功。 (以上内容转载于凡亿教育) 

    2020-04-14 780 发布人:凡亿教育
  • Linux

    【朱老师IT充电站】我学的技术会不会过时甚至被淘汰

    一、问题我经常被问到:老师你的课程是2015年录制的,我现在学会不会过时了?有没有最新的课程?你如果认识很多35岁及以上的中年IT从业者,你会发现这些人往往两极分化。其中一派古板、顽固,坚持认为他们以前的方法好,以前的作风好,以前的什么都好,现在时代变坏了。而另一派则认为现在在进步,新东西好,并且在积极学习。结果就是前一派变成了祥林嫂,成天絮絮叨叨的和年轻人一起拼体力活还不涨工资。而后一派要么成了技术大牛要么升了管理层。这就是心态能不能跟随时代前进的重要性。所以我很能理解同学怕被时代拉下,怕被时代淘汰的这种焦虑。我也很开心年轻人能在一开始学习时就考虑这个问题,这是好事,今天我给你详细分析下这个问题。二、时代洪流无人能挡首先必须搞清楚:时代的发展是客观的,是不以某个人甚至不以某些人的意志为转移的。最近有2句话很火,意思相近。一句是:时代抛弃你时,招呼都不会打。另一句是:时代淘汰你,但与你无关。你仔细体会下这两句话里的冷冽和无情,其实这才是天地至理。狼吃羊并不是因为羊犯了错,而是因为狼自己饿了。美国天天找我们茬也不是因为我们中国人错了,而是因为我们的崛起挑战了美国人的霸权。所以首先心态上摆正了。时代一定会发展,有些东西就得被淘汰,有些东西就是会变化,不要掩耳盗铃觉得我不停否认就能蒙混过关。你把头埋进沙子里也不能阻挡时代猎人的脚步。三、怎么办想要不被时代抛弃和淘汰?很简单:跑得够快就行了。有个段子很好笑,但是里面蕴含了至理。说考试题目问小偷被判刑的根本原因是什么?学生答:被抓住。你仔细品品是不是还挺有道理的,如果小偷不被抓住当然不会被判刑了。同理,羊被狼吃掉的根本原因是什么?也是被抓住啊。你要是和喜羊羊一样猴精猴精,那又怎么会被吃掉呢?两个人在森林里遇到老虎,一个人系鞋带,另一个说没用的,你跑不过老虎。第一个人说你错了,我不用跑过老虎,我跑过你就行了。四、谁被淘汰你看,很简单的道理,你被淘汰、你被落后其实根本原因就是你跑得太慢了,你被追上了。追上并干掉你的人,要么是时代发展,要么是你的竞争对手。方便面被外卖干掉了,这就是被时代发展淘汰。邮局被快递干掉了,也是被时代发展淘汰。国企员工下岗了,这是国企被民企和市场竞争淘汰,本质是被竞争对手淘汰。你被公司干掉了而你同事留下来了甚至还加薪升职了,本质是你被竞争对手(同事)淘汰了。所以你再想想,是技术落后了还是你落后了?是技术被淘汰还是你被淘汰?假如你是一个程序猿,竞争和淘汰你的是技术发展吗?不,淘汰你的永远是你的同事,也就是新进入的新手程序猿,或者和你一样的存量老程序员。五、技术会被淘汰吗?技术本身会被淘汰吗?肯定会。譬如显像管电视机你现在完全看不到了,都是液晶电视。我记得我2009年毕业时四川长虹去我们学校招聘,岗位是做等离子电视的。现在你看全是液晶,所以等离子显示等技术显然也是竞争失败了。OK,技术本身也存在竞争,技术也会在竞争中被干掉,被淘汰。但是,关你屁事啊!!!技术被淘汰,技术会痛苦吗?技术有痛感吗?Nokia手机没人用了它会哭吗?技术又不需要吃饭,不养活老婆孩子,它怕什么被淘汰?还没明白?搞清楚了:技术是技术,你是你。技术被淘汰了它自己无感,而你被淘汰了日子就难过了。会喘气要吃饭要养家糊口有欲望的物种才需要担心被淘汰。所以如果你把自己和某种技术绑定,然后随着技术被淘汰你被淘汰了,那只能说你XX。船都要沉了你不知道跳船?你不知道换一条船?房子旧了成危房了,你不知道买新房子?技术陈旧了,落后了,你不知道学新技术?有人说我也想掌握新东西啊,我也不想被淘汰啊,所以我才问你你的课程2015年录制的是不是不够新了?我是不是要学更新的才会不被淘汰呢?先别着急,你需要先搞清楚我们学习的知识和技能是分2类的。六、本质型和应用型知识技能我先举个栗子。很多人都知道我们平时吃的药其实分2类,一类药物起效果是通过增强自身免疫力,提升自身抗性的,也就是所谓的强身健体,治标治本。而另一类药物是所谓的针对性治疗药物,譬如你发炎了我就给你消炎,你肌肉坏死了就给你切掉,你破皮流血了就给你缝合住。这都属于直击目标式药物治疗。哪种好呢?要说快肯定是第二种了,西医大多是这类的,直接明了,清清楚楚,目标明确,原理清晰。而中医大多是第一种的,有点迂回战略。本质上的原理是我通过药物增强你身体的免疫力,提升你的身体活性,然后真正治病还是靠你身体的免疫力,靠你的自愈能力和抵抗力来战胜病魔。所以按照第一类医学理论,只要你身体免疫力很好,只要你身体素质够好,实际上大部分病根本不会得,得了也能自然好,根本不用吃药的。实际上你在工作和生活中用到的知识和技能,也类似于你抵抗疾病的能力,也分为这2类。我把第一类对应身体免疫力的称为本质型知识技能,而把第二类对应精准治疗药物的称为应用型知识技能。本质型知识技能是一个人自身的基础和修养,最典型的就是我们说的基础知识、基本原理、基本技能。譬如一个软件工程师,编程语言的掌握就属于本质型知识技能。而应用型知识技能就是那些针对特定任务和需求的解决能力,譬如熟练使用word来排版文字就属于应用型知识技能。那哪种好呢?答案是都好,都有用,而不是只要一个。这就好像治病一样,有时候就需要吃中药强身健体,有时候就需要吃西药针对治疗。如果你因为偏见只接受某一个而深恶痛绝另一个,那其实是你自己的损失。七、时代会淘汰谁为什么我们要讨论本质型知识技能和应用型知识技能?因为时代会淘汰的就是应用型知识技能,而本质型知识技能是不会被淘汰的。这就好像新冠来了,以前的药根本没用,没法针对新病毒,而针对新病毒的新药还需要一段时间来开发。而你的免疫力和身体抗性却仍然可以发挥作用,所以大家发现病死率比较高的都是老年人,实际上年轻人只要医疗资源充足情况下死亡率很低的。就是因为年轻人身体素质好,抵抗力强。同理,时代发展会首先淘汰那些只掌握了应用型技能的人。现在很多行业就非常担心被人工智能的发展所取代,担心的都是应用型技术工作者。譬如司机很担心被自动驾驶系统所取代,工厂流水线工作者很担心被自动化生产所取代,电话销售和电话客服人员很担心被语音AI所取代,等等太多了。程序员这个行业来说,互联网软件开发就比嵌入式软件开发更容易被时代淘汰。为什么?因为这2类开发虽然都属于软件开发,但是它们有本质的不同,这个本质不同就是2类开发工作中本质型知识技能和应用型知识技能占比差异很大。互联网行业本身变化大,发展更快速,甚至每隔几年就会有革命性的变化。大家你去看看这几年新出现的编程语言(譬如GO、Dart、Cotlin、Swift等)都是互联网行业的。连语言都经常变,更不用说各种框架那简直是一年三变。所以这些行业技能中应用型技术的占比很高,你刚熟悉了一种语言或框架,结果时代迅速变化这东西迅速被淘汰,新东西迅速火爆开来,你如果没有及时赶上那就惨了,被快速行驶的时代列车抛下了。所以互联网开发就是个高速快节奏舞池,这也是为什么互联网行业普遍996普遍加班严重的原因。当整个舞台都在高节奏运转时,你要么咬牙快速跟上,要么被快速淘汰出局。更不用说还有很多新人每年进入,后浪随时准备把前浪拍死在沙滩上的。八、嵌入式技术会被淘汰吗?任何技术领域都会发展变化,不可能一直维持原状。这就好像任何列车都在开动,只是绿皮车慢而高铁快而已。如果说互联网开发是高铁,那嵌入式开发就像是绿皮了,单纯从速度来说。嵌入式开发有他自己的游戏规则,嵌入式开发的知识和技能中,本质型的占比非常高,而应用型的占比低。这就造成嵌入式开发的特点是:很难学会,但是一旦学会很难被淘汰。实际上互联网开发行业刚好相反,是:很好学会但是也很容易被淘汰。所以你不得不佩服马克思,他很早就说了:价格决定于价值,而价值决定于产品中凝结的劳动量。真的是容易得到的他肯定容易失去,而很难得到的他也很难失去。这不是空口白牙说的,我给大家做几个实际对比。譬如编程语言,嵌入式底层开发这么多年了还是C语言挑大梁。而C语言现在在用的主流还是C89标准(1989年制定的C标准),连C99都没几个用的。而嵌入式应用层开发主体是C++语言,虽然出了不少新标准(C++11、14、17、20等)但是实际差异很小,90%的主要特性和难度基调还都是多年前定下来那些。所以你想想,如果你做嵌入式开发,你一旦深度掌握了C/C++语言,多少年你都可以笑傲江湖。你再看看互联网开发,前些年“PHP是最好的语言”,现在已经没几个用了。Java前些年一统江湖,现在经常被Python压着打。谷歌、facebook、苹果等动不动还发明点自己的语言和编程框架,基本上你做下个项目会用到什么鬼都不知道......你再看操作系统。嵌入式开发只要你学会了linux这一套,你再去看什么你都发现似曾相似。譬如我们最近在讲的华为LiteOS,它的kernel配置完全移植了linux的Kconfig这一套,他的工程管理完全使用Makefile和链接脚本这一套,它的内核源码编程风格和技巧等都在linux内核的范围之内。所以对于一个熟悉linux内核知识体系的人,可以几天之内熟练掌握LiteOS,甚至只要你功底够好可以立马加入为LiteOS撰写和拓展内核的工作中。这就是嵌入式开发,它的难不在于变化,而在于它不变但是本身难度高,你很难掌握。但是你掌握了它之后就舒服了。从这个角度讲,嵌入式开发有点像打篮球和田径比赛。你想成为也篮球高手不容易,得经过刻苦的训练,身体素质得非常好,偷懒要准确也是靠拼命苦练得来的。但是一旦你很厉害了就是很厉害了,别人很难胜过你。即使你更改了篮球赛场的规则厉害的还是厉害的,你让我随便改规则我也打不过詹姆斯是不是?九、嵌入式linux核心课程会过时吗?最后回答我们同学经常问的问题。2015年录制的课程到2020年会不会过时?我的答案是完全不会,就是到2030年也不会。因为我课程虽然是2015年录制的,但是讲的主体内容却是2000年左右就确立的了,也就是说你让我2000年左右去录,估计讲出来和2015年录差不多,至少有80%都是一样的,这些一样的部分,就是知识技能中的本质型部分。什么是本质型部分?随便列举一些:譬如C语言,譬如Linux内核框架(大家如果去看看linux内核0.11版本就知道了,其实0.11和现在的最新内核都很像),譬如处理器的中断向量表原理,譬如汇编指令和寻址方式等,譬如串口通信、I2C、LCD显示原理等等,这些都是本质型的。你只要掌握了这些本质原理,给你换一个芯片,换一个型号你分分钟搞定。这就好像你身体素质练好了,篮球功底好了,给你换个大一号或者小一号的篮球,给你换个重一些或者轻一些的,给你换个弹性更好一些或者更差一些的篮球,你最多刚上手时不适应,但是很快就能调整过来重新变成高手。这就是本质的厉害之处。那什么会不一样呢?就是知识技能中的应用型部分。譬如具体芯片的特定设计,譬如具体某个linux内核版本的某个API,譬如某种工具软件的使用等。这些东西会变化,如果换一个芯片方案,换一个新烧录工具等都会有不同。但是这些不同很容易搞定,你只要有功底,可以很快适应并掌握,迅速成为个中高手。所以不要再问我210开发板会不会过时了?我们讲的内核版本会不会太老了?5年前10年前讲的课程会不会跟不上时代?不存在的,至少在嵌入式开发这个领域不存在的。就算有一天你不用linux了,而是由另一个东西取代了linux,那么这个课程价值仍然损失很小。因为就算有一个东西能取代linux,那么他必然很类似linux,他的设计和使用到的技巧仍然是linux这一套。因为这些东西是本质型的,是由电子计算机系统的基本设计原理出发而来的。想要打破这些东西,除非彻底颠覆当前的计算机技术。譬如说以后发明的计算机不需要内存,譬如说量子纠缠之类的技术彻底革命了计算机。总之那些东西目前只能是科幻,在我有生之年不知道能不能看到了......十、最后人生有时候就是这么无趣!当你学会了很多,尤其是掌握了很多本质型知识技能后,你就发现你遇到的东西都似曾相识,都能很快掌握,你每天只需要花很少时间学习就能始终保持领先。这就是为什么我看起来好像“什么都会”,我好像什么课都可以讲。但是前提是:你得先迈过那道坎,你得先掌握那么多难度高的本质型知识和技能。而这并不容易,所以我讲嵌入式linux核心课程超过了410小时,这么多时间不是开玩笑的,真的有点难,真的有一定门槛的。越过那道高崖,往后余生皆是坦途。越不过去,那就只能在浅滩徘徊几年,然后无奈的被时代淘汰,被冲刷而走。这就是为什么35岁以后的“中年人”会两极分化了,实际上他们的“分化”早就决定了,只是到35岁时有些人才开始认命,或者外部压力迫使他认命。加油,做个掌握本质型知识和技能的本质型人才吧!

    2020-04-14 827 发布人:朱有鹏老师
推荐文章
热门文章
文章分类

凡亿课堂官方二维码

凡亿教育

咨询电话:0731-8388-2355

公司地址:长沙麓谷高新区麓谷新长海中心B3栋3楼304室

版权所有:湖南凡亿智邦电子科技有限公司