• 一个电子信息工程学生的历程和内心感想


    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


    本人来自武汉某工科211,学的是当下最为热门的电子信息专业,其实大学三年,对于电子信息工程来说属实学不够,今年成为大四学长了,也即将保研去西电开启研究生生活。这里想总结一下目前大学三年自己的感想。

    一、我对大学三年专业课程的理解

    我们学校对于通信工程和电子信息几乎是完全相同的培养方案,所以你在大一大二学到的东西非常杂。我觉得大致有这些细分的方向:

    ①底层电路设计:电路基础、模电、数电、高频电子线路、电子电工技术

    ②通信方向:通信原理、信息论与编码、电磁场与电磁波

    ③信号处理方向:复变函数、信号与系统、数字信号处理、数字图像/音频处理

    ④嵌入式方向:嵌入式原理(STM32)、嵌入式操作系统、传感器原理

    ⑤偏软件编程方向:C语言、数据结构与算法、JAVA、C++、计算机网络

    我最大的感受是,由于学时以及培养计划的安排,我们被迫的对所有的方向进行了一个极为粗糙的学习,每个学期都会有这5个方向中的某些课程,但是现在回想起来,完全没有形成一个系统,而且仅仅只是对理论知识的学习,我无法去想象这些课程如何应用在实践生产中,所以很难培养出什么兴趣来。

    很多人一直诟病的是什么呢?是根本学不深,所谓的万金油其实也意味着没有专精的方向。我在大一大二时只是按部就班的学习这些课程,这学期学完某一课,下一学期又忘了。也许期末考试有个还行的成绩,但是实际上完全没有理解这些课有什么作用。

    所以我想表达的一个核心想法就是:尽早确定自己想要细致研究的方向,越早接触应用层面越好,不要只拘束于理论知识。

    二、我为什么本科选择研究嵌入式这个方向?

    1.可以把理论变为实际应用——兴趣是最好的老师。

    我的感受是,传统通信和信号处理方面,大学本科属实接触不到前沿先进的技术,学的教科书是几十年前的知识,基础知识虽然重要但是我没什么深入学习的欲望,这两个方向最好提前找硕导博导,像现在的新型编码技术、5G基站、雷达天线、射频等方向,进他们的实验室课题组,作为本科生打打杂跟着学习,也能接触到一些很前沿的东西,可惜我没有这方面的经历。

    嵌入式跟软件编程算是我们本科生就能上手,可以接触前沿技术的领域了。
    对于学编程语言,搞前端后端开发,其实很好,但是现在计算机专业尚且卷成麻花,电子信息专业只能说稍微分一杯羹,这方面我只会C,所以就不发表看法了。

    嵌入式开发,对于喜欢搞电子产品、做东西、做小车、机器人的,可以把理论变为实际应用,那一定是一个很好的方向。

    2.嵌入式方向可以打的比赛非常多,天然具有竞赛优势

    我们学校历来具有竞赛保研的传统,学院竞赛氛围非常浓厚。电赛、智能车、机器人大赛、集创赛、嵌入式大赛、机设赛、工巡赛,可以说,本科会熟练使用STM32,就天然的拿到了组队参加这些比赛的门票。而做项目、申请专利、申请大创项目,也都是水到渠成。

    三、我对嵌入式方向的感想?

    ①本科阶段很适合,研究生阶段最好接触更前沿的技术

    不是说嵌入式不好,但是目前这个方向就业压力很大,我本科做的项目都很浅显,需要两三年的时间深入学习,并且深深的感觉到嵌入式领域如果能结合研究生的某些专精课题的话,会更有前景。

    ②工作党三件套:裸机编程+rtos操作系统+Linux

    经常看BOSS和猎聘,基本都是这三件套,从简单到困难,我是大三这一年才学完rtos操作系统,幸好保研了有个缓冲时间,否则直接面临找工作的话,自己的技能可能还很不足。

    四、对于STM32(库函数版本)的学习,我的经历是:

    入门阶段:

    ①买一块正点原子开发板,有点小贵,但是绝对值得,我的板子陪了我两年都没坏。
    ②学习正点原子附送的资料,尤其是里面那四五十个实验。
    ③B站看江科大的教学视频,跟着他学习,不用买他家的套件,用正点原子的板子做是一样的,只不过一些led、蜂鸣器、传感器要另外买。
    ④安装keil平台,把最基础的一些新建项目、编写代码、编译、烧录下载等操作学会。
    ⑤点亮第一颗LED,让很多个LED变成流水灯。
    ⑥注意:不要把那些实验全部学完,你花大量时间看完也不容易理解,把基础的GPIO、TIM、ADC、USART、中断这5个的例程学会就行,这5个我觉得很重要。

    新手阶段:

    ①找一个最简单的综合项目来练手,我的是经典的环境检测,温湿度、空气质量、烟雾浓度、雨水、PH值、酒精浓度等等。
    ②首先学会在CSDN找相关项目,看一看大家都用的是什么传感器模块,然后去淘宝买这些模块。
    ③抄(借鉴)各个平台的模块代码,基本都是相通的,然后把这些模块的代码整合一下放keil里面。看不懂背后原理无所谓,主要是了解keil编程的思路。
    ④看别人写的代码,多看,把基本格式学会,然后就是调函数,改bug报错,编译通过,下载烧录,成功运行。
    ⑤对于这些环境数值的检测,就会用的很多单片机外设的知识,边看例程就能边理解一些外设的原理了。

    进阶阶段:

    ①会查产品手册,知道哪些引脚具有哪些特定的外设;
    ②会使用调试手段,利用keil的调试功能打断点、测试运行是否正常
    ③深入理解内存结构、RAM和ROM、时钟树、定时器、DMA等底层知识
    ④把一些常用模块玩的清楚。

    中级阶段:

    ①经典上云平台,随便找个云平台,可以实现上报数据和下发指令
    ②可以实现两个或者多个单片机之间的数据交流
    ③可以实现F103到F429的各种型号的代码编写
    ④理解IIC、SPI、CAN、RS485、RS232、wifi、蓝牙的通信原理

    高级阶段:

    ①参加比赛,比赛一般用不到操作系统,一般裸机编程够用。
    ②做项目,比如我做了智能家居门窗,然后还有六足机器人等
    ③学习rtos操作系统,这里比较建议freertos和国产的rtthread。
    ④深入学习数据结构与算法,从内存管理、代码优化、指针的使用等层面优化自己的代码风格,提高代码的效率和稳定性。

    五、关于嵌入式芯片与系统设计竞赛,我的经验

    这个比赛目前举办了六届,是教育部认可的A类赛事,我觉得在嵌入式芯片应用方面还是很不错的。去年(2022)名气还不算大,今年我参加时已经有了六千多支队伍参赛,说明比赛的名气逐渐打响,而且含金量更高。我们团队也是很荣幸获得了国家级一等奖。

    比赛具体的介绍我不细讲了,主要谈谈我的参赛经验:

    ①选对赛道很重要

    因为绝大多数人都是STM32启蒙的,所以ST赛道属实是卷中卷,而其他企业赛道相对来说没那么卷。因此,可以尝试一下一些国产的芯片赛道,需要提前花一点时间去熟悉国产芯片的使用,比如开发平台、编程语言、芯片手册之类的。等上手之后,其实就轻车熟路了,嵌入式开发的本质都是差不多的,只能说对那些外设模块的国产开发平台的移植是比较难的,其他问题不大。

    ②作品立意和应用前景很重要

    根据参加省赛和国赛,评委的一些关注点来看,作品的立意首先要细,要着眼于一些待续解决的实际问题,用我们的一些新点子去尝试解决。另外,作品必须看重能否应用,能否得到市场的良好反应。举个例子,做智能家居,现在市场上这类产品太多了,大学生的智能家居最多就是一个模块的堆砌,没有解决什么社会痛点,除非你的作品真的非常精美无可挑剔。

    ③勇敢参赛,一定要保证作品完工上交。

    比赛周期长,一定要保证最后可以提交作品。抱着拿奖的想法的话,成功提交作品就已经成功了60%,因为会有很多很多组交不了作品。哪怕作品只有一个雏形,或者功能很简单,也要尝试去提交。至于到了区赛国赛,那肯定需要再下功夫去升级作品了。

    六、我的下一步打算

    1.重温C语言和数据结构与算法

    2.学习C++

    3.学习Linux的基本知识

    4.去导师课题组提前开启自己的研0生活

    七、未完待续

  • 相关阅读:
    如何最简单的在conda环境中使用pip
    m低信噪比下GPS信号的捕获算法研究,使用matlab算法进行仿真
    消息队列的持久化、分发策略、高可用和高可靠
    【Mysql主从配置方法---单主从】
    scrapy框架——架构介绍、安装、项目创建、目录介绍、使用、持久化方案、集成selenium、去重规则源码分析、布隆过滤器使用、redis实现分布式爬虫
    安全防御——APT
    RocketMQ生产者原理及最佳实践
    递归:深度优先搜索
    DataFrame创建介绍_大数据培训
    数据结构顺序表(C语言版)
  • 原文地址:https://blog.csdn.net/qq_53092944/article/details/133209515