6.1.谁适合学习本课程
(1)物联网、嵌入式、电子、通信、计算机、自动化等相关专业大一、大二在校学生。
(2)其他对物联网相关技术感兴趣,希望入门的各种小白。
(3)刚参加工作的各种新手工程师(如单片机软件工程师、嵌入式软件工程师)。
(4)目前从事纯软件开发工作(譬如android app开发、html前后端、php等),遇到瓶颈希望在行业内横向拓宽个人能力和知识面的编程老手。
6.2.为什么要跟朱老师学51
(1)传统物联网学习课程缺少背景知识,单个课程,没有晋升学习路线。
(2)传统单片机课程知识体系零散,不系统,增加学习难度,侧重知识本身,而不是能力和思维的培养。
6.3.单片机和CPU有什么区别
(1)CPU:作为运算的核心。
(2)单片机:单片机是一种相对于性能、外设、应用范围等比较简单的CPU。单片机最常见应用于冰箱、洗衣机、空调、电饭煲等小家电上。单片机是全球用量最大的CPU;单片机是物联网节点设备主控CPU;单片机是其他物联网编程技术的入门基础;我们可以通过学习单片机学习编程语言、调试技巧、工具使用等技能。
(3)application SoC:应用级别的cpu,譬如现在电脑上和手机上四核或者八核的CPU。广泛应用于消费电子(手机、电脑)、工业控制、航空航天、汽车电子。
(4)FPGA&DSP&CPLD:FPGA和CPLD处于半导体行业,是专门去设计芯片、制造生产CPU的领域;DSP是擅长进行大量运算的CPU,譬如说应用于视频的编解码中。
6.4.为什么要从51单片机学起
(1)51单片机最简单;51单片机最典型;51单片机用的最广;51单片机学习成本最低。
(2)从时间和费用上来说,学习51单片机的成本最低。
(3)51单片机变种很多很活跃,因为51的内核是免费的,因此很多公司做一些内部集成CPU的芯片喜欢用51内核。譬如电容触摸IC、Wifi芯片(ESP8266)、zigbee无线通信芯片。
6.5.学习本课程需要什么基础
(1)编程语言;一般是汇编语言和C语言编程。
(2)电学基础;高中物理电学基础就够了。
(3)英语;认识最基本的英语单词即可。
(4)计算机知识;基本会用电脑即可。
(5)真正的学习条件;兴趣和时间。
6.6.单片机和嵌入式的关系
(1)两者都隶属于电子行业,都有CPU作为核心,都一些外围硬件作为辅助,都是软件控制硬件,都具有一定的功能。
(2)核心差异:在CPU方面,单片机偏向简单,都是物理地址,而嵌入式都有MMU内存管理单元,会使用虚拟地址;在操作系统方面,单片机一般是裸机程序或者运行简单的RTOS系统,而嵌入式一般是跑linux、android操作系统;在应用领域方面,单片机主要应用于小型家电、物联网终端设备领域,而嵌入式一般应用于中控类、高性能领域。
(3)相同点:在CPU方面,很多设计理念都相同,如异常向量表、各种外设操作方法(譬如串口);在编程语言方面,都使用C语言为主,汇编为辅;在个人能力方面,都讲究程序的编写、调试、解决问题的能力。
(4)单片机是低层次的嵌入式设备,嵌入式是单片机的高级延伸和必然趋势。
6.7.单片机和物联网的关系
(1)物联网分为三层:底层是感知层,感知层主要器件是传感器(譬如光传感器、PM2.5传感器、电容触摸传感器等···),感知层的主要作用就是使用传感器收集信息;感知层收集到信息后发给传输层,传输层核心是无线网络(包括wifi、4G、蓝牙、zigbee···),传输层的主要目的就是将感知层信息传输出去给上层应用层;应用层其实就是所谓的云服务器(云计算、大数据)。应用层通过大数据分析、云计算等手段最终得到结论,再通过传输层发出操作指令给底层去执行。
(2)自动环境监测系统解决方案:设备定时监测污染度、泥沙含量、PH值等,然后通过网络(4G、GSM…)将数据传送给中控服务器中,中控服务器会有相应的应用软件针对数据汇集、整理、分析并得出一些结论。
(3)单片机是物联网感知层底层设备的核心。
6.8.单片机和C语言的关系
(1)单片机一般使用C语言来编程,学习单片机时C语言学习占比很大,C语言不止用于单片机。
(2)找本标准C语言的书系统学习C语言,推荐《the C Programming Language》译作《C程序设计语言》。
(3)跟着STM32继续深入学习复杂C语言语法特性。
(4)嵌入式阶段《C语言高级专题》深度学习gcc下的C语言。
(5)学习C语言原则:以用促学,只有应用到了C语言的某种特性才能真正的学懂某种特性。