嵌入式软件开发个人历程

本文作者分享了自己从文科背景转行进入嵌入式软件开发的过程,从对单片机一无所知到熟练掌握STM32,经历了兼职的艰辛和自我学习的挑战,最终找到专注于STM32开发的工作。文章强调了面对困难时的决心和自学的重要性。
摘要由CSDN通过智能技术生成

前序

本人从事嵌入式软件开发工作5年,接触单片机是6年。我本身并不是彻彻底底的科班出身,高中学习绩并不好又学 的文科,机缘巧合之下大学被二次征集志愿召入了电气自动化专业,从此便开启了我新世界的大门。
刚进大学想的是混完3年拿个毕业证就行,这个想法导致我大一的时候无心专业课程,一心想的就是做兼职挣钱能为家里分担点压力,发传单,足球摄像,地推都搞过,一天能挣个几十块到一百块就觉得很满足了。所以大一的课程基本荒废,直到大一下半学期放暑假时找暑假工碰壁。
找暑假工并不是那么顺遂,我也想像别人说的那样家里谁谁谁当老板他那儿需要暑假工一个月4 5000你直接去吧,但是我没有呀!我只有冒着重庆7 8月份三四十度的高温在外面找工作,目标都是招人门槛比较低的餐饮业和网吧之类,第一家“不好意思我们这儿暑假工招满了”,第二家“不好意思我们这儿不要暑假工”,第三家,第四家基本也是同样的状况。直到找到一家新装修准备开业的网吧,欺骗老板我是干长期的,才有了入职的机会,但也是我暑假噩梦的开始。
入职之后一天上12小时班,白班夜班倒班三人轮换,早上不吃饭,中午下午看老板心情可以跟着吃一两顿,睡的是没有空调的上下铺板板床,洗澡就在网吧卫生间洗,那段时间真的是吃了上顿没下顿,每天生活都在网吧里,还要担心欺骗老板的事情败露,到时候白干一个月,简直是身体和心灵上的双重折磨。
这样的日子大概持续了10天左右,望着40岁左右同样被老板呼来喝去的员工我才意识到问题的严重性,如果自己到了40岁左右的年纪是不是也会变成这个样子。我恍然大悟,觉得自己需要做出改变,但是应该怎么办呢?我思考了两天晚上,直到第三天我收到班级群里发来的课表信息,我的心里便有了想法,于是开了一台电脑挨着挨着搜索那些课程代表什么意思,对自己以后找工作有没有意义。我看到了《PLC编程控制》与《51单片机编程及原理》然后再百度原来PLC是可编程逻辑控制器,主要用与自动化控制,而单片机是微控制器类似于电脑的中央处理器。当时对这两个名词概念都很模糊,甚至是第一次接触,但它们就像是照亮黑暗的曙光照在了我的心里,于是我便开始搜索这两个控制器的资料,先是了解,然后是组成,然后还看了几堂郭老师的《10天学会单片机》。为下学期学好这两门课程打好基础。
就这样坚持了20多天眼以为暑假生涯能就此结束的时候令我更糟心的事情来了,我鼓起勇气给老板说我要辞职,回应我的只有愤怒的咆哮“当初说好不要临时工,要走你就走,不可能给你发工资,除非5天内你找一个替代你的人”。听到这话之后再想到我这40昨天的煎熬,我当时心中甚至涌起了一个可怕的想法(什么想法你们自己猜!到现在我都觉得重庆哪个城市天空充满阴霾)。在我离开那天,我前脚刚走,就听哪个大叔打电话说我招的那个人也走了,我就知道这40多天应该白干了。我背着行李,上高架,走隧道,下天桥,饶了几次路,最终还好赶上了开往绵阳的汽车,离开了重庆这个令我厌烦的城市。

正式接触51单片机

终于熬到开学,虽然心里还有做兼职时挥之不去的阴霾,但这也是我努力学习的动力。也许得益于简直过程中对单片机基本的了解以及上课时候的认真态度,再加上遇到了良师使我即便C语言只会if else while几个关键字学习起单片机也十分的顺遂,后面还在老师的帮助下报了《蓝桥杯单片机设计开发》大赛,准备阶段用开发板刷了很多比赛的设计题。依稀记得我比赛时因为AT24C02只能写入单个字节,而需要存储的数据大于256时搞得我当时不知道该怎么办了!因此只得了个省赛二等奖。蓝桥杯比赛的结束也意味着我51单片机的学习暂时告一段落,我又陷入了迷茫阶段,查了下资料好像51单片机的就业范围并不广泛,接下来的路该怎么走又成了一大难题,于是我求助了我的启蒙导师,他细心的给我讲解了后续的路该怎么走,51单片机过了后边还有STM32,还有操作系统以及ARM和LINUX,而PLC开发呢主要是电气控制类。也许因为单片机编程比较符合我心中程序员的样子于是我好不疑问的选择了单片机开发。然后我的导师给了我一套学校采购的STM32单片机开发板。我的STM32之路便开始。
作为一个平凡人,如果你有一技之长,那么你就有了立足之本

STM32学习

刚入手STM32开发板内心还是很激动的LCD屏以及各种外设,看着就比51单片机开发板要高大上。然而到我真正上手后就懵了,网上查了STM32有两种库,一种是寄存器库,另一种是固件库,对于这些新名词都很蒙圈,于是一个一个百度看是什么意思。STM32不像51不能P1.0 = 0,那个IO口就为0了,需要操作对应的GPIO寄存器,需要对IO进行初始化,输入模式,输出模式。对于刚接触STM32的我来说真是一窍不通,一度都想放弃了,就像是拿着金山不知道怎么开采一样。再加上我垃圾的C语言功底,看着一大堆库函数都像天文数字,不知道怎么下手。但又想到我的兼职经历还是又耐着性子继续跟着视频从点灯再到串口、定时器、SPI等外设的学习一步一步跟STM32“熟络”起来。
耐着性子,一步一个脚印,终会到达终点。

第一份工作

到了毕业季,心中想的工作肯定是STM32开发,这样既不会浪费我一年多的学习,也能让我继续提升自己。然而第一份实习工作并不顺利,工作描述上写的是单片机软件开发,进入单位之后才了解到公司主要使用MSP430单片机,虽然有相通之处但我并不想从事这份工作,再加上还要我在生产部待三个月才转到研发部,让我更有了离开的念头。在这家公司待的第五天我收到了学校一位学长的电话,问我是否愿意在他现在的公司上班,主要从事STM32的开发,工资1800,我毫不犹豫的就答应了。
学长的公司只有5人,主要做物联网开发,开始两个月的工作也是配合做测试,写一些简单的驱动,阅读一些代码。实习期结束便开始接手一些简单的项目。过程中也遇到了很多阻碍与难题,甚至有时候调BUG调的自己想吐,怀疑自己是否不适合这个行业。但在我一度耐着性子查看资料,最终解决问题的成就感及收获无疑是巨大的,也推着我让我在这条路上走得更远。嵌入式开发的路是孤独的,遇到的很多问题都需要你自己去查资料,找代理,找技术支持。
人生就像嵌入式开发,不会一帆风顺,你只管一路向前,问题终会解决,胜利就在前方。面对问题时的态度就是你人生的态度。

现在的状态

目前坐标成都,工资10K,主要工作还是单片机开发,各种单片机都有涉猎,未来打算是往arm+Linux方向或FPGA方向发展。接触单片机开发6年时间,从当初的一窍不通,到现在的还算比较熟悉。从当初照着手册敲底层代码也随着单片机厂家驱动库的完善只需要ctrl+c ctrl+v便能完成开发。
在这几年的工作中虽然也遇到过重重阻碍,但与我2017年暑假的经历比起来也算不得什么了。但也许正因为这些经历让我在每次面对困难时都有足够的勇气与信心。
我的工作态度就是做好交给你的每一件事情,逃避并不能解决问题,只会磨灭你的意志,你需要直面困难,因为风雨之后才能见彩虹!致平凡的自己,也致一路上风雨无阻的你们!

  1. 您发布的文章将会展示至 里程碑专区 ,您也可以在 专区 内查看其他创作者的纪念日文章
  2. 优质的纪念文章将会获得神秘打赏哦
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值