Xu-Blog

养一猫一狗,猫叫啵啵,狗叫没想好~~

0%

新生扫盲课

注:使用了引用语法但不是引用:

本文主要作用是实验室新生扫盲教程

希望大家可以自觉的在转载、转发著名出处。(๑• . •๑)

预防侵权,支持原创,支持开源,从你我做起。= ̄ ω  ̄=

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/*
* Copyright(C),2019-2020,xudongpo.cn
* Author: 许东坡
* Email: aelousdp@163.com
* Date: 2019.11.26
* Version: 1.0
* Description: 新生扫盲课
* Purpose:用于 20级 新生的学习方向扫盲,目的在让新生对未来工作项目的流程有大概的认识和了解,对学的的方向可以更明确,不在未来的学习过程中迷失自己。
* Function List:
举个栗子
正题
软件
硬件
学习任务
总结
* History: 1
* Others: NULL
**/

先有几句话:

艺多不压身:本科时我的学长告诉我的,这么多年让我保持高昂的学习状态,遇到不会的就学。

工欲善其事,必先利其器:自己根据带的很多学弟学妹们总结的经验,一定要先万事俱备,再去做一个事情。

水滴石穿:坚持就是胜利,很简单。

举个栗子

基本上,现在学生的工作一般分为 软件硬件 两个方向,但是只学一个方向肯定是不够的。大家也能从自己的本科毕业设计中可以看出来,任何一个项目的完成,都需要针对 需求 对应的完成不同的任务,而这些任务往往需要软硬件搭配才可以完成。

举个简单的例子:有个项目需要对某十字路口的行人流量进行检测。具体要求如下:

  • 采用 32 位单片机作为主控
  • 人流量数据以小时为单位保存
  • 要求工作人员调试界面
  • 要可以无线传输数据方便对数据进行提取
  • 保存历史数据一个月
  • 要求可以在手机 APP 端调取数据

针对这样的一个项目需求,我们按照需求一一完成,

  1. 32 位单片机选型,STM32,K60 等等。
  2. 人流量数据保存,需要软件编程。
  3. 工作人员调试界面,需要我们自己按照大小设计 PCB 和焊接 LCD。
  4. 无线传输,我们要自己选定无线传输方案,ZigBee || NRF24L01 || 蓝牙 || GSM。
  5. 历史数据保存一个月,我们需要外部存储设备:SD 卡,U 盘等等。
  6. 手机 APP 端调取数据,需要编写手机 APP。

以上主要是为了让大家对项目先有一个宏观的认识。

正题

现在实验室的学习方向主要包括以下:(就是说这些有其他的师兄师姐在学,可以互相学习)

  • 软件
    • C
    • Python
    • LabVIEW
    • Matlab
    • JavaScript
  • 硬件
    • 模电数电
    • C51
      • Keil C51
    • STM32
      • Keil for ARM
    • FPGA
    • PCB 设计

软件

C 语言

基础必学语言,基本上实验室用到的编程语言,除了 LabVIEW 是 G 语言(图形化语言)之外,其它的基本上都是互相类似的。但是由于 C 语言的基础性,C 必须要学。

Python

这些年最火的编程语言,虽然这两年缓和了一些,但是还是最火,由于非常好入门,导致大家都在学,学是要学的,但不建议只学Python。学的话根据自己的方向去学习。

Python 对我个人来说,更像是一个小的记事本类的工具,写作不会用它,但是偶尔写写小东西会用一样。因为 Python 语法简单,环境简单,依赖库充足,运行一些小的算法 demo 最合适。

俗话说:人生苦短,我学 Python

LavVIEW

实验室暂时就我在用,主要用来做一些 Win 系统下的桌面应用程序,LabVIEW 本身是 NI(美国国家仪器)公司开发的一款软件,本身目的在于测量与控制,但是基础功能足够平时的一些桌面应用程序。

Matlab

Matlab 大家应该都接触过,数学软件。也是很多人论文要用的东西,现在很多人用 Python 和 Matlab 去对比,也说明了两者的侧重点,都是语法简单,库充裕,这两种都倾向于对算法进行验证。

JavaScript

也是我个人学习的语言,这个语言主要用来做前端,我学的话主要为了可以做 WebAPP 的,也可以从软件角度对一些框架进行学习。

实验室其他师兄弟还有没有会的东西我不太清楚,这些可以大家进入实验室后自己去了解。总之以上这些软件应该是都能找到会的人。学习过程中有啥问题可以问。

硬件

模电数电

硬件必会的东西,硬件设计的基础。

C51

入门单片机,8 位单片机。有自己独立的语言 C51,语法和 C 基本一样。

最简单的集成电路芯片,有 IO,中断,ROM,RAM,A/D,等等。

单片机,控制外部设备,实现功能。

Keil

51 单片机和 STM32 单片机的开发 IDE。

STM32

32 位单片机,目前最火的单片机,基本上现在遇到的大部分项目 STM32 都可以实现。

PCB 设计

单片机开发板的设计。就是对平时在洞洞板上面焊接东西的一个封装,设计成一个成品的板子。

总体来说,以上是我了解的实验室或者更多的来讲是你们未来找工作可能会用到的。时间仓促不够全面,有什么问题再问,我再补充。

学习任务

  • 软件
    • C 语言(2 周)
      • 照着各自的课本就可以了,再敲敲例程。
    • Python(4 周)
      • https://www.imooc.com/
    • LabVIEW/或其他(5 周)
  • 硬件
    • C 语言(1 周)
      • 照着各自的课本就可以了,再敲敲例程。
    • C51 单片机(3 周)
      • https://www.bilibili.com/video/BV1Ks411Y7mi?from=search&seid=7880665776662933475
    • PCB 设计(3 周)
      • https://xudongpo.cn/posts/441b56a1/
    • STM32 单片机(4 周)

总结

学习主要靠自己的主观能动性。。。大家都研究生了,还是希望自己能学习自觉。

End~~请支持原创撒花= ̄ω ̄=花撒
如果您读文章后有收获,可以打赏我喝咖啡哦~