上周忽然对无人机来了点兴趣,就稍微了解了下相关知识,一个大概的流程。硬件对于一个软件工程师来说是比较陌生的领域,对于软件工程师来讲就是利用现有硬件或者说适配更多类型的硬件来提供服务。
根据之前了解到的常见关键词有:单片机,嵌入式,PLC。单片机就是一个小小的微型计算机,整体只在一个开发板上面,基于单片机可以构成各种各样的系统,嵌入式和 PLC 其实就是基于单片机的封装或者说上层应用。
嵌入式(系统)特性是处理单一职责的任务,家里的电器设备里面都是这玩意,最简单的单片机也可以称作嵌入式,复杂的汽车操作也可以称作嵌入式。
PLC 同嵌入式,但更偏向于电气方面,一般用于工业领域,英文全称 Programmable Logic Controller,翻译过来就是“可编程逻辑控制器”,它自己可以进行一定程度上的编程操作。
树莓派很多人应该听说过,其实树莓派不怎么算嵌入式了,因为它就是一个小型的计算机设备,计算机该有的东西它都有。
如上所见,一切还是从单片机开始,从一个芯片到产品需要经过几个大流程。
第一个是 PCB,用 EDA 软件来设计板子的电路图,布局图,然后打板使用。
第二阶段代码阶段,拿到焊好的板子后就可以开始调试程序了,也就是写代码。
#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
}
void loop() {
// put your main code here, to run repeatedly:
}
第三阶段烧录阶段,将代码写入板子,然后就可以食用了。
其中最麻烦的是第一阶段 PCB Layout,因为这个其实已经是一个职业了,所以里面有一些知识壁垒。