无际单片机编程

公号【无际单片机编程】拿入门到高级教程工具包

  • 博客(370)
  • 收藏
  • 关注

原创 单片机入门到高级开挂学习路径(附教程+工具)

一、先帮大家解答几个问题:1. 单片机是什么?答:单片机就是一个微型CPU,把程序烧录芯片里面,通过控制不同的外围电路实现不同产品的功能。2. 学单片机编程对数学英语有要求吗?答:数学会基本的加减乘除就行,英语会认单词a-z就行,很多外行人看到代码里一堆英文就头嗡嗡响,其实不然,只有少数语法是固定的,大多数英文都是工程师自己定义的,比如大神你也可以定义成DaShen(中文缩写)。那很多人此时就开始质疑,当初这么辛苦学数学和英语到底是为毛?数学和英语不是单片机开发的门槛,但却决定你以后能达到的高度,

2021-02-26 15:27:26 71141 33

原创 开发板学不到的7大核心技能

不同的项目,类似的细节还有很多,这就是为啥只有工作了,才能真正成为工程师的原因,涉及的细节太多了,而且大多数细节问题在网上都找不到答案的。这个过程最直接的就是能培养阅读技术文档的能力,学完以后,以后用移远的模块,也很熟了,这公司的模块市场占有率非常高,很多产品都在这个型号。我觉得区别还是挺大的,我们也是从开发板学起的,开发板的尽头,是把外设调通即可。

2024-09-18 10:12:39 986

原创 从屎山代码到RTOS,老工程师的架构进化史

举例来说,在我们项目6网关的探测器列表界面下,要显示这个网关所有配对好的探测器,探测器数量一般是动态的,可能用户A配对了5个探测器,用户B配对了10个,用户C配对了20个.....在具体的代码中,我们程序定义了两个静态结构体数组用来实现探测器列表的功能。这两个静态的结构体数组占用了比较大的RAM空间,假如客户突然发神经,要求这台主机要支持配对100个探测器,这个结构体数组大小就是100,这得多吓人,光这个结构数组就把单片机的RAM用得差不多了。我们不妨计算以下:

2024-08-28 20:37:28 1226

原创 在单片机开发过程中,碰到从来没接触过的模块或芯片,该怎么办?

这是嵌入式的难点之一,每个产品,需要用到的外围芯片,模块,都不一样,每换一个不同行业的产品,都要重新学习很多东西。所以,不要担心,碰到没用过的单片机,直接以公司名义,跟代理商要所有资料例程,技术支持就完了,别傻乎乎自己去摸索。实际上,你用上6,7款不同的单片机,会发现都是大同小异,有这经验,再纠结这个问题,会事半功倍。如果这个年代了,还有单片机,不提供例程,只能说明两点,第一他们有核心技术,第二,头铁。实际产品,单片机变来变去,是常见的事,不过也无需担心,因为现在芯片厂之间,也很卷。

2024-08-13 14:53:27 948

原创 硬件,学起来让人摸不着头脑

而且我也建议走偏软方向,除了工资高一点,做软件也是要调硬件的,调多了,硬件知识也能积累不少,然后顺其自然就转全栈工程师了,这是我们职业生涯的发展过程。刚看到这些需求,我的第一感觉,这是招硬件打杂岗,而且写这个岗位需求的人,并不专,会造成双方有很大的沟通成本,说白了,就是去了感觉大家都不合适。想精通硬件,这些只是基础,更多的是需要大量实际项目的积累,只有通过大批量,不同环境长时间验证没问题的,才算得上是真正稳定的电路。其实我说偏软工资高一点,也不对,牛逼的硬件工程师,工资也是很高的,而且香饽饽。

2024-08-07 14:55:59 773

原创 学单片机怎么在3-5个月内找到工作?

但凡是行内资深点的工程师,都知道,没做过项目,没大量实践应用过的新手,普遍都有一个问题:按照例程都能跑起来,但是让自己去写,或者换一个功能,就没什么思路,无从下手。这几年,我们无际单片机项目特训营,跟我们主动反馈找到工作的铁子,至少有190个,在这个群体里面,90%以上的,都只做了3个项目。实际上用人单位,最看重的也是项目经验,你做过的项目,涉及的技术栈,和他们公司的项目越契合,意味着你上手越快。这13年一直在跟单片机打交道,打过工,创过业,对行业,对企业,都有一定的认知,

2024-08-06 20:13:20 2575 1

原创 不是说嵌入式的人才大量缺口吗,为什么它的工资水平也不是很高?

但是物联网的出现,颠覆了传统硬件,能让传统硬件更智能了,让每个行业的产品,都能被重塑一次,还能衍生出很多新的应用场景,这就是变相的增量市场。殊不知,互联网的风口,不会持续很久,大多数人,也只是普通人,不会因为一个风口,就财富自由,最多就工资高点。当然,大多数人是做不到的,大家对大学生活的向往是,搞对象,打游戏,旅游....反正学习最苦逼,排最后。在经济下行时,首先受到致命冲击的,就是互联网,所以很多做纯软的,失业了,工作都难找。如果今天研究生毕业,还拿这个数,哪怕行业还很缺人了,也别干了,哈哈。

2024-08-05 16:48:18 1150

原创 过来人建议:嵌入式工程师怎么突破方向、技能、工资瓶颈?

我现在基本忘掉了人际关系,所以基本也没啥朋友,或许也是年纪大了,怎么舒服怎么来,自给自足,没必要看谁的脸色。而且现在,我感觉时代还是有点变化的,不像以前那种酒桌文化,大家更希望的是,把事做好,别啰里吧嗦整那些虚的。其实,大家都是脑子一热,口嗨,反正也不用负责,或者只是个人浅浅的经历,并没有大量实际数据支撑的定论。最近干的最多的,就数据采集和分析,小白最恐怖的想法,就是没数据支撑,认死理,以前我也这样。工资高的背后,意味着两点,要么产品利润高,要么是增量市场,一下招不到人。

2024-08-02 15:41:08 555

原创 代码能力弱,编程思维几乎没有,有些勉强能看懂,让自己敲,一脸懵逼?

当初,我在设计无际单片机特训营的项目时,就很想采用这种方式,先给老铁们项目源码,然后提要增加/修改的功能,让他们自己先和脑细胞撕裂一下,尝试修改源码去实现功能,最后再看教程,这样理解绝对透透的。因为你想改代码改功能,必须得先把原有的代码看懂,才能改,否则改出来,就像破了几个洞的,然后用胶布粘住的水管,这里改,那里又冒了个BUG出来。最近有几个人问我,说自己代码能力弱,编程思维几乎也没有,简单的代码,勉强能看懂,让自己敲,就一脸懵逼,下一步该怎么学习?我也纳闷,难道是我的学习方式,方向不对吗?

2024-07-11 15:53:30 830

原创 【无标题】

刚开始,尝试抱着一本厚厚的电子元器件手册啃,又感觉看书过于枯燥,又下载了几十G的视频教程,结果跌入魔法电路的深渊,仿佛在学一门高深莫测的数学课,因此陷入无尽的学习死循环。不再单独去学电路了,转去学开发板,因为很多开发板,在实践的过程中,也会讲到元器件及电路,而这种边学边用的方式,更好理解。我收集了一些经典电路参考图,在设计相关功能的时候,可以借鉴或者在此基础上改,可大大提高效率,需要的可找我安排。后面我也意识到,学习硬件,不应该从理论出发,而应该从实践入手,最后再以实践结果,倒推理论巩固。

2024-07-10 11:03:18 880

原创 单片机软件架构连载(5)-队列

前面讲了指针、结构体之类的基础知识。这篇内容开始,就要对这些基础知识,做一些复杂的应用了,比如说队列。其实,在2018年的时候,我录制过一套程序架构的视频,里面有手把手写队列的教程,讲了一系列贴近实际的高阶编程思维和技巧,受到了很多粉丝朋友们的好评和认可。但由于教程录制的比较早,音质比较差,还有一些细节不够完善。所以这根刺,一直扎在我的心里,为了让无际单片机特训营的铁子们,在学我们项目时,能更高效,更好地理解,最近计划把这些基础内容,重新梳理一遍,做成一个系列的软件架构2.0图文/视频教程。

2024-07-08 16:53:46 928

原创 单片机软件架构连载(4)-结构体

语法如下:这里的结构体名是你自定义的名称,用于之后引用这个结构体类型。示例代码:每个类型后面跟着的是结构体中的成员变量,它们可以是基本数据类型,如char、short、int、float等,也可以是其他结构体类型,比如指针,结构体类型。定义好结构体类型后,我们就可以用该类型,去定义一个结构体变量,并初始化其成员值了。示例代码:创建Student类型的结构体变量stu1,并初始化,名字为 ZhangSan,年龄 20,成绩 92.5。

2024-07-04 14:58:47 1055

原创 单片机软件架构连载(3)-typedef

我们来总结下,typedef最主要的几点优势:提高代码可读性:通过使用有意义的类型名,代码更易于理解。简化复杂类型:对于结构体、枚举、函数指针等复杂类型,使用 typedef 可以简化变量定义。易于修改:如果基本类型需要更改,只需更改 typedef 定义,而不必修改使用该类型的所有实例。增加代码移植性:不同编译器或平台可能对某些数据类型的大小有差别(例如,int在某些平台上可能是16位,在另一些平台上可能是32位或64位)。

2024-07-03 10:38:02 1126

原创 单片机软件架构连载(2)-指针

变量类型 *变量名unsignedchar*p;unsigned char 是数据类型,p 是变量名。2.2指针变量赋值指针变量在使用前,一定要先赋值(指向一个地址)。给指针变量赋的值和普通变量不同,给指针变量赋值只能是地址。那么怎么获取普通变量的地址呢,在C 语言里可以使用”&”来获取普通变量的地址&变量名// 包含标准输入输出库,用于printf函数等// 定义一个无符号字符变量a,其取值范围是0到255// 定义一个指向无符号字符的指针变量p// 主函数入口点。

2024-07-02 12:01:21 1136 1

原创 单片机软件架构连载(1)-枚举(enum)

我对枚举Enum(Enumeration)数据类型的理解,是给常量另起个名字。给"1"取个名字叫True;给"0"取个名字叫False;把常量重命名以后,在程序里,相对数字能更直观地表达逻辑的对和错。// 定义一个匿名枚举类型,包含四种颜色,分别对应整数值0到3enumRED, // 枚举成员RED的值为0,代表红色GREEN, // 枚举成员GREEN的值为1,代表绿色BLUE, // 枚举成员BLUE的值为2,代表蓝色YELLOW // 枚举成员YELLOW的值为3,代表黄色。

2024-07-01 12:00:10 1095

原创 掌握这招,串口通信高频收发32W数据,0丢包!

早期做pdu的时候,用485通讯,Modbus协议,我是做从机,当时没什么经验,总是做不稳定,如果是碰上那种对成本要求很苛刻的产品,比如连一个电容钱都要省的,调起来极其恶心,想把公司电脑都砸了。QueueDataOut是一个队列数据出列函数,函数内部实现了先进先出的算法,所以我们完全不用管什么数组下标,数组还有多少数据之类的,也是一次写好,无限复用,大大简化了程序。做串口的应用,把串口外设调通只是第一步,串口只是数据传输的媒介,在此基础上,两个设备/器件要进行通信,传递更有意义的信息,还需要一个通讯协议。

2024-06-14 12:22:10 945

原创 为什么说指针是c语言的灵魂?

我攻克这个难关,花了好几年时间,因为它不像单片机的问题,网上都有答案,也有例程参考,这种问题,是开发经验的问题,网上找不到资料,有也只是零零散散的。工作6,7年以后,独立做了一些复杂的项目,有物联网网关,有Ble产品,研究过协议栈和模块厂的SDK,也见过很多同事写的代码,对指针又有了新的理解。刚做开发的前两三年,我总是感觉自己写的程序,不够专业高大上,很多程序都过度使用指针,看起来更复杂显得专业点,现在回看那程序:真傻杯,脱裤子放屁。你可以简单理解成,就像人没有灵魂,废了,c语言没有指针,也废了。

2024-06-13 12:02:32 895

原创 入职嵌入式开发,第三个星期开始让写代码,要求两周完成,但是完全不会写怎么办?

做项目,一定是有清晰流程的,先把项目需要的外设调通,再把项目的业务逻辑功能,拆解成独立的小模块,一个一个地完成,每完成一个模块,都要测试好没问题,最后把所有模块整合在一起,完成整体功能。正常情况下,公司有段试用期,如果是应届,或者刚转行嵌入式开发的,一般不会直接让你独立去做项目,而是维护老项目,改改代码为主,除非是一些很简单的产品。如果我是领导,我最烦的员工是,每次问的时候,都说还在搞,差不多了,又不知道到什么程度了,然后过了一个月,说哪个功能做不出来。

2024-06-06 15:24:05 1286

原创 如何编写稳定的单片机代码?

举个简单的例子,一个LED灯指示设备联网状态,未接连上时,每200ms闪一次,连接上wifi时,每400ms闪一次,连接上路由器时,每600ms闪一次,连接上服务器时,常亮。我很多代码思维和技巧,都是学习同事的代码,我看到他们的代码时,和无际项目特训营老铁看我们代码的感觉是一样的,先是一脸懵逼,有些工作后,接触项目多了,才领悟其中的精髓。一般的工程师,会在工作了3,4年左右,才能意识到程序架构的必要性,也取决于你什么时候能有机会独立完成复杂的项目,这个时候你会发现,原来的知识体系不够用。

2024-05-30 19:04:53 844

原创 如何编写高效的单片机代码?

在做研发工程师的10年里,我经历过几个公司,看过很多工程师写的代码,但真正能让我跪着看完的,极少。用i--、i-=1、i++、i+=1、去替代i = i-1,i=i+1的操作,有些编译器对前者进行了优化,效率更高。比如数学功底好的,可以用低端单片机去实现功能,而数学功底不好的,写出来代码效率低,则需要性能更强的单片机支撑。具备这些能力,写出来的代码,才能让cpu执行这段代码所花费的时间,以及占用的ROM和RAM资源更少。然而,如果把项目每个细节,都优化到高效的程度,花费的时间,是平时的两倍。

2024-05-29 20:08:02 730

原创 工作中写单片机代码,与学校里有什么不同?

接着维护基于NXP ARM7单片机项目,相对就复杂很多了,复杂度主要体现在要自己配置寄存器,去使用单片机外设,还有整体功能多,组合起来看就有点云里雾里,不过从代码架构上,也是挺乱的。第一份工作,先是维护老产品, 一看公司产品的代码,其实跟开发板的差不多,有些代码可能还没开发板的工整,是用STC 51单片机的项目,代码也复杂不到哪去,能实现功能就行了。工作后,见过鬼,怕黑了,不想再装逼秀技术了,只想快点完成任务,有现成代码可以抄,我觉得贼幸福,领导和甲方,大概是魔鬼。目前我们特训营项目就用这些架构。

2024-05-27 20:07:33 1256

原创 怎么判断一家公司是否有前景

他目前在这家公司做了好多年了,属于公司的第一批员工,目前负责嵌入式MCU的,就他一个人,虽然没股份啥的,但万一公司做起来了,相信也不会亏待他。我说,对方挣了多少,很难评估,除非你认识他们公司内部的人。等你调查清楚以后,再对比你们公司和他们公司的运营方式,大概就能知道,这家公司接下来的命运,到底是增长,还是倒闭了。他说,没有对标具体的型号,而是对标技术,比如说射频,他们的距离能做得更远,功耗更低,数据量也更多。好在,他情商很高,买了我一个小时的时间,我才硬着头皮看完,根据他的情况,跟他打了电话交流。

2024-05-23 14:38:23 1137

原创 嵌入式软件天花板是不是不高?

我粗略算过下他们的运营成本,月光租金都要几万甚至十几万,还有人工成本,研发部6个人,一个月工资至少都得发7-8万,加上其它乱七八糟的开支,每个月固定成本都要10几万以上。工薪阶层以内,天花板有多高,和学历,行业,能力关系最大,不一定是技术深度,做单片机开发比Linux高的,也很多。而他的运营成本,估计比我们还低,自己一个人,租个小办公室,硬件,软件全自己做,然后生产外包,自己跟进下就好。前几天,有个做贴片厂的朋友和我们说,他有个客户,和我们一样,也是技术出身,然后自己做产品,找渠道卖。

2024-05-07 10:59:09 1029 1

原创 干货 | 嵌入式OTA升级实现原理

早期,我对接过一些第三方云平台,有些平台,我怀疑是干java设计的通讯流程和协议,在协议设计上经验不足,如果通讯流程和协议设计不好,明明可以用一条指令搞定,最后要2,3条指令,增加通讯双方的程序难度,稳定性也会受影响。假如当前程序运行的是A部分的代码,那我们固件升级的时候,就升级程序块B部分的代码,如果程序B升级OK,则由bootLoader程序,指向程序块B区的起始位置,下次程序重启,则执行程序块B。全量升级就是每次都更新整个固件,差分升级就是更新时,会和老版本固件进行数据比对,修改的部分,才会升级。

2024-05-06 16:20:33 1409

原创 单片机编程实例400例大全(100-200)

通过按键输入控制步进电机的转动方向和速度,通过P1端口输出相应的控制信号,驱动步进电机按照预定的步进序列转动。这段代码是一个8051单片机红外通信和数码管显示的程序,程序的主要功能是接收红外信号,解码,然后根据解码结果在数码管上显示相应的按键值。通过外部中断0接收红外信号,定时器0计算信号的时间间隔,然后通过中断服务程序和主循环中的函数调用,完成红外信号的接收、解码和显示。通过P1.3,P1.4,P1.5,P1.6四个IO口,来控制步进电机,包括电机的转动方向和速度控制。除此以外,再含泪分享我压箱底的。

2024-05-02 11:22:00 1466 2

原创 单片机编程实例400例大全(1-100)

整个程序的工作流程是:通过按键输入(程序中定义了两个按键,分别用于加速和减速)改变电机的PWM占空比,从而控制电机的速度,同时,使用定时器中断服务程序来实现数码管的动态显示和电机PWM的控制。所以,我整理了100个单片机编程的实例,涵盖了很多小功能,注释也详细,非常适合新手参考,利用这些参考代码,去做自己的项目,事半功倍。就是多参考,多实践,然后碰到类似的功能,就能举一反三了,都是用时间堆经验的笨办法,没什么骚操作。但是成长效率,是你可以控制的,在同一时间内,你实践的越多,经历的越多,比别人成长的就越快。

2024-04-30 12:58:41 1932

原创 9种单片机常用的软件架构

后面有幸,接触了稍微复杂点的项目,感觉以前水平Hold不住,然后借着项目需求,学习了很多优秀的代码架构,比如以前同事的,一些模组厂的SDK,还有市面上成熟的系统。因为我在做研发工程师的第6年,才开始意识到这个东西,在此之前,都是做一些比较简单的项目,一个main函数干到底,架构复杂了反而是累赘。下面是一个简化的示例,展示如何在C语言中模拟面向对象的编程风格,以51单片机为背景,创建一个简单的LED类。事实上,真正的事件型驱动架构,是非常复杂的,我职业生涯的巅峰之作,就是用的事件型驱动架构。

2024-04-29 14:06:08 10475 7

原创 读研三年和做嵌入式工作三年,究竟哪个更值?

因为工作了,能接触到很多项目,能有不同段位的前辈指导,在学校你可能是老大,工作以后就是社畜了,不行也得硬着头皮上。前几天,和徐工出去吃晚饭,他说如果我们当初好好上学,考个清华北大啥的,或者考个研啥的,就没现在这么辛苦了。如果工作了,一直在做简单的项目,比如用51单片机做小家电,别说做3年了,做10年,水平也很难更上一层楼。这些对学历基本是硬性要求了,有些硕士,都只能进去打杂,真正的核心算法,像声呐之类的,都是博士干。我说,我是没希望了,我小学就开始沉迷游戏,知识体系落后太多了,跟不上了。

2024-04-28 16:06:08 1180

原创 单片机为什么有多组VDD?

模拟电路对电源的质量要求较高,因为电源噪声和波动可能会直接影响模拟信号的精度和稳定性,比如我们采集ADC值的时候,参考电源的稳定性,直接决定ADC值的准确性。数字电路对电源的稳定性和纯净度要求相对较低,因为数字信号具有较强的抗干扰能力,数字电源和地线的设计更多考虑的是减少数字电路内部的噪声和干扰。当所有的电流都通过单一的VDD/VSS引脚时,这些引脚需要承受更大的电流负荷,这可能会使引脚发热,降低单片机的可靠性和寿命。以前我在画尺寸小的PCB时,比较头痛,特别是芯片引脚又多的,芯片底下,又不能打太多过孔。

2024-04-26 11:51:44 1102

原创 经验丰富也被裁了,失业快2年找不到工作?

可能公司辛辛苦苦开发的软件,好不容易有点火了,几个月后就被人抄了,玩到后面,90%可能都不是技术问题,而是运营能力的问题。归根到底,其实就是拼供应链,谁能拿到成本更低,质量又还可以的原材料,谁能把生产不良率控制到最低,生产效率最高,成本最低。而纯软不一样,大多都是在电脑或者手机上跑,硬件基本不变,所以很多代码生成了,都能直接运行。徐工说,你不是做了很多年了吗?经验这么丰富也被裁?我觉得没有,这种产品,拼技术是不可能了,最后都是拼品质,拼价格。小公司,运营成本低,就像我之前呆过的一家,倒闭的,好像基本没有。

2024-04-25 11:57:53 793

原创 【无标题】

这个有些老工程师很喜欢用,我一般开发STM8单片机和TI蓝牙协议栈的时候会用,个人感觉没Keil顺手,用不熟的话,经常会有奇奇怪怪的问题,比如无法go to define....这个经常也会用,有网页版也有客户端,最爽的是有丰富的元件库,整合了立创商城的元器件目录,方便工程师在设计过程中进行元器件的选型和采购。我的启蒙电路设计工具,是Protel 99se,不过已经10年前了,现在基本没人用了,以下几个是目前国内用的比较多的。特点:支持SSH、Telnet和rlogin协议的终端仿真程序,安全性高。

2024-04-24 11:16:26 1017

原创 做了几年单片机开发,没有激情了

刚开始,都很新鲜,很有趣,慢慢熟练到一定程度,又会变得枯燥无味,想突破,又觉得遥不可及,慢慢就进入躺平的内耗状态,或者又想转行了。怎么会有这么坑的公司?我能理解他的感受,说直白点,就是当前的付出和回报,不成正比,不想为了这点工资,给吊毛老板卖命。一般都是唯唯诺诺的,领导的话就是圣旨,老板说屁是香的,你觉得是臭的,都会反思是不是自己的问题。在公司做个2年,项目基本都很熟了,做来做去都是用那几款单片机,类似的功能,没什么提升。我就辞职了,踩过坑以后,我觉得,小公司的股份,一文不值,还不如拿个高工资。

2024-04-23 12:20:29 944

原创 找到单片机实习工作,啥也不会,怎么顺利转正?

一般单片机外设,都是他们提供例程,我们直接拿过来用的,除非非常冷门的芯片,要自己看数据手册配置寄存器使用,碰到这种,就认命吧,除了硬着头皮干,没别的办法了。想转正,排第一的,不是当下的能力,而是态度,应届生或刚转行,不能按时完成任务,很正常,领导也会理解的,出多少钱就招什么水平,心里都有逼数。最难忘的一次,我嫌工资低,要辞职,老板娘答应给我涨2-3k,具体多少忘了,不过我还是走了,最后把老板娘都气哭了,撒谎是狗。就是拿到一个新的项目,没用过的单片机,我应该怎么去做,第一步应该做什么,第二步应该做什么。

2024-04-22 12:11:45 1010

原创 在单片机开发中,常用算法有哪些?

第二,不管算法多么复杂,最终在程序里面,都是进行加减乘除,左移右移运算,哪怕算法不懂,可以花钱找个数学厉害的人,把需求给他,让他给你个加减乘除的公式,你用代码去实现这个计算就好。如遗传算法、模拟退火算法等,用于寻找问题的最优解或近似最优解,像遗传算法一般用来做机器人的路径规划,以找到最优的移动路径,避开障碍物,做过智障小车的小伙伴,应该比较熟悉了。在需要显示或处理图像的单片机应用中,可能会用到点阵显示、图形变换、颜色处理等算法,在一些点阵屏,TFT屏的应用比较多,这个一般根据实际的图形或者屏尺寸制定算法。

2024-04-19 13:54:18 1736

原创 刚找到工作,碰到新项目,怎么入手?

我也不例外,从改代码维护老产品都费劲,到自己能勉强独立完成简单项目,再到独立完成复杂的项目,最后能设计整体程序架构,保证实现功能为前提,又不失可扩展性和可移植性,这条路,我摸索了快10年。我刚工作时,着急完成任务,一上来就抱着代码啃,通过代码去理解功能是逆向工程,没经验的情况下,比较困难,正确的顺序是,先理解功能,再思考实现思路。还有就是程序版本的管理,可以用Git管理,我一般直接以文件夹的形式,保存在本地,自己电脑存一份,移动硬盘存一份,公司电脑存一份,稳得一批。

2024-04-18 12:12:20 589

原创 嵌入式工程师如何摸鱼?

我刚做开发那会,啥也不懂,每天基本都要加班到晚上7-9点不等,我并不抵触加班,因为早早回家,也没什么事干,多学点东西,工资还能涨得快一点。我觉得这点,是最重要的,毕竟摸鱼的前提,还是要有点实力的,如果你干啥啥不成,天天还在那找借口,哪怕赔上N+1,老板都会把你干掉。1万块干1万块的活,2万块干2万块的活,如果工资不高,就不要出头装逼了,能说难绝不说简单,一天把Bug改完,分1周再提交。我在2019年还录了一套比较系统的教程,本来想拿来卖的,后面工作忙,现在干脆分享给粉丝了,有礼貌的,找我可安排。

2024-04-17 12:11:27 1088

原创 嵌入式工程师如何利用周末提升自己?

我们顺着产业链,找到一个细分的点,看能否喝口汤就行了,哪怕是打工,工资都高点,典型的就是现在做新能源的嵌入式工程师。时代红利则看命了,我觉得普通人想抓住太难了,哪怕能看懂,也不一定有你的事,在资本介入的情况下,所有个体都是蝼蚁。能大器晚成的人,圈子多多少少有点背景资源啥的,浸泡在好的圈子,慢慢自己的思维习惯,性格也会被圈子的人所影响。在30岁之前,是否完成了从0到1的积累,或技术,或能力、或钱,或认知,或人脉,或别的资源...我觉得每代人都是公平的,都有每代人的时代红利,或许他们的时代红利,是AI呢?

2024-04-16 11:22:06 428

原创 为什么学完了c语言觉得自己什么都干不了?

就像如果在学校,老师们事先给同学们说好,学好数学啊,学好物理啊,学好化学啊,这些知识可以造导弹用。不过现在有个尴尬的问题是,入行群体太卷了,你不能突破这个瓶颈,就很难找到工作, 找不到工作, 又突破不了这个瓶颈,进入这个恶性循环了。很多人看了钢铁侠之后,才对技术产生兴趣的,可惜,知道的太晚了,过了做技术沉淀最佳年纪了。学C语言也是如此,虽然语法都会了,让去实现某个功能,就懵逼了,没思路,也不知道代码怎么写。等项目做的多了,你会发现,C语言能做的事情,足以颠覆你的认知,小到家电产品,大到操作系统。

2024-04-15 13:15:29 679

原创 工程师一般怎么记编程笔记?

之前无际单片机项目特训营总是有老铁说,代码容易忘,记不住,怎么办?我说,都不用记的,哪怕让爱因斯坦去记,都摇头喊苦。不知道大家会不会这样,我上个月写得代码,现在都忘得一干二净。那我是怎么"记住"以前写过的代码的?俗话说,好记性不如烂笔头。我一般是有个移动硬盘,资料都放在里面了。然后每个项目都会有清晰度文件夹目录:记录资料,是一个慢工细活,挺费时间的,很多工程师,图省事,目录不清晰,记录的东西一多以后,就像个垃圾堆了。

2024-04-12 15:15:19 783

原创 为什么学生很难真正学好嵌入式?

刚开始那一年,基本就是修修改改别人的屎山代码,给客户定制功能,有时看别人代码,还不如自己写快,先要熟悉功能,再揣摩上一任工程师的实现思路,最后分析代码实现方法,整个过程,跟破案似的。那几个月,我还是学到了不少东西,比如GPS、雷达、菜单.....算是职业生涯第一个比较复杂的产品了,遗憾的是,还是修修改改,没有从0到1完整做一个产品的机会,所以能学到的东西也有限。后面,我才知道,是软件组长,偷偷说了我的好话,说我为完成公司的产品,经常自掏腰包学习。

2024-04-11 12:27:11 780

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除