观前须知
本文章 假设 您为完全没有任何基础,但是已经具有常规高中生知识水平的普通人类。
如果您不满足 假设(比如已经是是大佬,或者不是人类),您并非本文章的受众。
接下来是正文部分
前置学习
在我们继续往下之前,我推荐你学习一下 C / C++。请无需害怕,这一切很容易做到。(C貌似是咱们通识必修课,不学好你包暴毙的孩子)
语言只是工具,能拿起工具你就已经完成了造出 ガンダム 和 エヴァンゲリオン 的第一步。
B站的很多教学都太长了,如果你急急急急急,我推荐你看一些短点的教学,学到结构体就差不多了,后面的可以慢慢来。
建议从P6开始看到P84(中间跳着看需要的部分)
认识电控
从前有一个小明,他家里有个花盆,这个花不浇水就会死
(废话)。但是他经常打游戏忘了浇花,干死了一堆花,于是他决定做一个自动浇花的工具。他买了瓶小甜水,然后喝完了(爽)。然后往瓶子里装满了自来水,接着他找来了一个电阀门,只要通电就会打开。他把阀门装到了瓶口上。
他打算每隔12小时就给花盆浇一次水,每次出水时间控制在三秒钟免得给淹死了。
这个时候有一个小问题哈,谁来给这个电磁阀通电呢。
于是小明买来了一块 单片机,然后往里边写上了定时程序和通电行为,他把单片机的电路接到的电磁阀的通电开关上。接着单片机就控制了电磁阀。
单片机就是这样一个用来控制电路行为的物件。
通过编写程序,单片机的芯片将会按照程序中规定好的行为对电路在预定的状态下(比如发生某些现象后或者指定时间时),做出指定的动作(比如将某条电路通电)
接下来我会介绍单片机最基础的一个功能,接着向你推荐一个学习路线
不恭敬,禅心于你滞碍;看看我这VSCode,哪里不比那礦ision5气派。
单片机的种类非常非常多,其中最基础的肯定是51(Not Command);此外,还有STC系、STM系、WCH系、英飞凌系、ESP系等等。
在此处,本文推荐使用 ESP32 和 STM32 ,原因是教学资料多且使用较多,并且工具链成熟,使用简单。其中 ESP32 的 Arduino编译链 非常简单,很适合新手入门。
引脚
单片机有许多 用于对外链接的接口,在开发板上表现为 针脚,在芯片上表现为 引脚。在代码中,通常用 数字 或者 字母搭配 来表示某个引脚
如图所示,可以看到这块ESP32开发板上的18脚和23脚