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

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

文章目录

  • 一、我对大学三年专业课程的理解
  • 二、我为什么本科选择研究嵌入式这个方向?
    • 1.可以把理论变为实际应用——兴趣是最好的老师。
    • 2.嵌入式方向可以打的比赛非常多,天然具有竞赛优势
  • 三、我对嵌入式方向的感想?
    • ①本科阶段很适合,研究生阶段最好接触更前沿的技术
    • ②工作党三件套:裸机编程+rtos操作系统+Linux
  • 四、对于STM32(库函数版本)的学习,我的经历是:
    • 入门阶段:
    • 新手阶段:
    • 进阶阶段:
    • 中级阶段:
    • 高级阶段:
  • 五、关于嵌入式芯片与系统设计竞赛,我的经验
    • ①选对赛道很重要
    • ②作品立意和应用前景很重要
    • ③勇敢参赛,一定要保证作品完工上交。
  • 六、我的下一步打算
    • 1.重温C语言和数据结构与算法
    • 2.学习C++
    • 3.学习Linux的基本知识
    • 4.去导师课题组提前开启自己的研0生活
  • 七、未完待续


本人来自武汉某工科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生活

七、未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/86012.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何把利用paddlepaddle导出的json文件转化为yolo或者voc文件

目录 1. 修改源码,让模型能够生成出对于单个图像的标注。 2. 把数据转为yolo格式 3.把yolo格式转化为xml格式 这两天想偷懒,想让模型先在数据上标一遍,然后我再做修正,主要是图个省事。由于我们主要是利用paddle,模型也是基于p…

冒泡排序与选择排序(最low的两兄弟)

个人主页:Lei宝啊 愿所有美好如期而遇 前言: 在我们的生活中,无处不在用到排序,比如说成绩的排名,淘宝,京东等等商品在各个方面的排序,这样看来一个好的算 法很重要,接下来我们要先…

文件操作和IO

文章目录 一、文件系统二、文件类型三、文件系统操作3.1File类的属性3.2File类的构造方法3.3File类的方法 四、文件内容操作4.1Reader类里的函数4.2Writer类里的函数4.3InputStream类里的函数4.4OutputStream类里的函数4.5字节流转换为字符流 一、文件系统 1、操作系统会把很多…

【刷题-牛客】链表内指定区间反转

链表定区间翻转链表 题目链接题目描述核心思想详细图解代码实现复杂度分析 题目链接 链表内指定区间反转_牛客题霸_牛客网 (nowcoder.com) 题目描述 核心思想 遍历链表的过程中在进行原地翻转 [m,n]翻转区间记作子链表,找到子链表的 起始节点 left 和 终止节点 right记录在…

爬虫,初学者指南

第一篇:入门测速request模块的基本使用以www.douban.com为例 import requests url "http://www.douban.com" heards {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0…

组队竞赛(int溢出问题)

目录 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 &#xff08;二&#xff09;正确代码 1. long long sum0 2. #define int long long 3. 使用现成的sort函数 一、题目 二、代码 &#xff08;一&#xff09;没有注意int溢出 #include <iostream&g…

自动化测试的定位及一些思考

大家对自动化的理解&#xff0c;首先是想到Web UI自动化&#xff0c;这就为什么我一说自动化&#xff0c;公司一般就会有很多人反对&#xff0c;因为自动化的成本实在太高了&#xff0c;其实自动化是分为三个层面的&#xff08;UI层自动化、接口自动化、单元测试&#xff09;&a…

Sourcetree 无法打开/闪退问题

Sourcetree在某次开机以后无法打开或者是闪退。 Sourcetree是一款Git的可视化图形管理界面,提供了Windows和Mac的免费Git客户端,很方便的管理项目的代码版本 出现问题的环境 win11&#xff0c;sourcTree版本&#xff1a;3.4.12.0 在开始菜单搜索sourcetree&#xff0c;打开…

线上论坛之单元测试

对线上论坛进行单元测试的测试报告 源码地址&#xff1a;https://gitee.com/coisini-thirty-three/forum 一、用户部分&#xff08;UserServiceImplTest&#xff09; 1.创建普通用户 测试名称 createNormalUser() 测试源码 Test void createNormalUser() { // 构造用户 User …

为您的SSH提提速

SSH是运维和开发人员接触比较多的工具&#xff0c;一般用SSH来连接远程服务器&#xff0c;这个是我的一些免费客户和企业客户经常使用的场景&#xff0c;当然SSH除了远程连接之外&#xff0c;还有很多额外的用途&#xff0c;比如SSH本身是具备代理功能的&#xff0c;我们也有一…

【2023年研究生数学建模】E题解题思路

问题1 针对问题1.1&#xff0c;要求判断患者sub001至sub100发病后48小时内是否发生血肿扩张事件。对于此&#xff0c;先构建新表&#xff0c;记录每次检查的时间及血肿体积。采取遍历的方式识别48小时内是否出现血肿扩张事件&#xff0c;若发生血肿扩张&#xff0c;则记录入表…

如何写一份出色的毕业设计任务书

title: 如何写一份出色的毕业设计任务书 date: 2023-09-20 毕业设计任务书是每个毕业生必须面对的关键文档。它不仅是你完成毕业设计的路线图&#xff0c;还是导师评估你工作的依据。因此&#xff0c;撰写一份清晰、详细且具体的任务书至关重要。本文将向你介绍如何编写一份出色…

【Seata】seata的部署和集成

一、部署Seata的tc-server 1.下载 首先我们要下载seata-server包&#xff0c;地址在http://seata.io/zh-cn/blog/download.html 当然&#xff0c;课前资料也准备好了&#xff1a; 2.解压 在非中文目录解压缩这个zip包&#xff0c;其目录结构如下&#xff1a; 3.修改配置 修…

【MySQL】索引

索引 索引是帮助 MySQL 高效获取数据的数据结构&#xff08;有序&#xff09;。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff0c;这样就可以在这些数据结构上实现高级…

pyspark常用算子总结

欢迎关注微信公众号&#xff0c;更多优质内容会在微信公众号首发 1. pyspark中时间格式的数据转换为字符串格式的时间&#xff0c;示例代码 from datetime import datetimedate_obj datetime(2023, 7, 2) formatted_date date_obj.strftime("%Y-%m-%d %H:%M:%S")p…

go 线程限制数量 --chatGPT

问&#xff1a;runTask(names, limit), 遍历启动以names的子名称的工作线程 name测试打印&#xff0c;上限数量是limit, 要求打印所有names gpt: 你可以使用 Go 协程来实现 runTask 函数&#xff0c;该函数会遍历启动以 names 子名称的工作线程&#xff0c;并在达到上限数量 …

【MySQL数据库事务操作、主从复制及Redis数据库读写分离、主从同步的实现机制】

文章目录 MySQL数据库事务操作、主从复制及Redis数据库读写分离、主从同步的实现机制ACID及如何实现事务隔离级别&#xff1a;MVCC 多版本并发控制MySQL数据库主从复制主从同步延迟怎么处理Redis 读写分离1.什么是主从复制2.读写分离的优点 Redis为什么快呢&#xff1f; MySQL数…

Docker初识

什么是Docker 微服务虽然具备各种各样的优势&#xff0c;但服务的拆分通用给部署带来了很大的麻烦。 分布式系统中&#xff0c;依赖的组件非常多&#xff0c;不同组件之间部署时往往会产生一些冲突。在数百上千台服务中重复部署&#xff0c;环境不一定一致&#xff0c;会遇到…

Matlab图像处理-模式识别

模式识别 模式识别就是用计算的方法根据样本的特征将样本划分到一定的类别中去。模式识别就是通过计算机用数学技术方法来研究模式的自动处理和判读&#xff0c;把环境与客体统称为“模式”。模式识别以图像处理与计算机视觉、语音语言信息处理、脑网络组、类脑智能等为主要研…

题目 1063: 二级C语言-统计字符

输入一行字符&#xff0c;分别统计出其中英文字母、空格、数字和其它字符的个数。 样例输入a 1, 样例输出 1 1 1 1 鉴于直接用cin会导致空格无法录入&#xff0c;于是用string的getline函数。 再在对应区间的计数器1就好 #include<iostream> #include<string> …