嵌入式开发
之前在广州上班的时候工作有小接触过嵌入式设备,当时的项目是一个智能超市、便利店系统。
利用单片机改造控制门锁、RFID扫描器、摄像头、电子秤等设备。
完成了图像识别智能冰箱售卖机
、RFID无人值守超市
等产品。
那时候的单片机是其他同事完成开发的,我负责的是小程序前端和服务端程序的开发。
但从这里也是学习到了一点点单片机的开发流程和功能思路。
最近由于口罩原因,又在Bili看到别人自制血氧仪,所以买了一堆芯片模块来尝试学习。
入坑!
这里记录一下一些基本的概念和知识储备。在后续希望能够学习和理解更多,再回来完善~
目录
- 一点点电路知识
- 焊锡操作
- 二进制、ROM、RAM等基本的
计算机组成原理知识
(更贴切的科目应该是微型计算机原理) - 操作系统是什么(SOC)
- 基本编程能力(python,lua,c++等)
- 进阶 网络编程(tcp,websocket,http,mqtt等)
一点点电路知识
这里不需要用到很高深的东西(本人初中物理水平)
需要基本的电流、电压、串并联等基本知识,因为模块和模块之间的供电和数据传输线需要自己接
偶尔还会看到与非门等一些不太懂的,但好像也不影响啥。后面还是要慢慢接触学习
焊锡操作
在网上购买芯片和模块的时候,可以查看图片或者产品描述,有一些是已经焊好了引脚的,我们收到之后直接接线就可以了
如果需要自己焊引脚,也不是很难(小时候做过手工 小夜灯,也折腾过键盘换轴) 可以搞定,不过我觉得稍微比键盘的焊锡难一点点,因为芯片的体积小了很多!!
计算机组成原理知识
- 计算机的世界是二进制的, 而电路中表达二进制的做法是
高低电平
。 - 寄存器 : 有一些数据传输通信协议,需要对寄存器进行读写。
- 内存、硬盘的区别
操作系统 SOC
对基本电路逻辑的封装,为电路和程序的运行提供支持。
比如读写文件的逻辑、读写寄存器的逻辑、控制某个引脚的电平
这些都是最常用的功能,程序员不需要对其进行开发,直接调用SOC的接口即可。
SOC分为硬件SOC和软件SOC俩种。
有一些开发板设计了SOC电路,可以简化很多控制电路的步骤。
软件SOC更像我们的windows系统和linux系统
比如我们想用python开发程序,那么可以刷micropython
的系统;想用lua可以考虑luatos
乐鑫(一个芯片品牌)也提供了系统封装
烧录
我们的程序,包括上一节描述的操作系统,都是代码,需要放到单片机中才可以运行。
这个步骤叫做烧录
总线协议
上面有描述到二进制表述数据
、数据传输需要接线
接线之后也需要用特定的协议(规定),双方在同一频率范围捕捉电路的电平,不然的话表达的数据就天差地别了。
目前接触到的协议有以下。具体可以在百度或者bili先大概了解
- 串口通信
- SPI通信
- IIC通信(目前用得最多的,最简单)
扫描二维码,分享此文章