ESP32是上海乐鑫科技发布的一款适用于物联网应用的单片机,大部分型号支持WiFi&蓝牙等功能,高主频、价格低也是一大优势。
同时,ESP32开发有三种方式:1、采用乐鑫科技自家发布的乐鑫IDF框架编程;2、采用Arduino框架;3、使用MicroPython开发。
三种方式各有利弊:
使用方法一开发,能最大的适配ESP32单片机,充分发挥ESP32的性能,但是目前使用该方法的工程师较少,例程资源少,新手上手难度大,不利于新手学习;
使用方法二是基于Arduino框架,上手简单,而且该框架下资源多,利于新手上手,同时,还可以方便后续使用FreeRTOS实时操作系统;(该系列文章采用该方法)
使用方法三使用MicroPython开发,使用MicroPython开发上手快,短时间内容易出成果,做简单易学的项目用此方法是不二之选,但MicroPython也有自身的缺点,因为自身的高度封装,导致运行效率低也是本身一大问题;(为了后续更好的学习Rtos,采用方法二更为适中)
该系列文章基于VScode + Platformio开发,保姆级教程,适合新手入门学习
配置platformio环境请参考:(5条消息) platformIO环境安装_kimiyang123的博客-CSDN博客_platformio安装不上
一、关于ESP32-Wroom-32E
MCU详略参数请参考 (本段本文采用ESP32-Wroom-32E开发,其他型号也可参考本文,但某些引脚不同需自行更改)
二、VScode+platformio创建工程
按照流程后,静待几秒,工程便已创建完成。(提示是否信任该工作区点击是就可以)(注意,ESP32在arduino框架下是以文件夹为单位保存的,一个完整的文件夹不要随意拆开)
完成创建后,界面如图:
此时,便可在里面写程序了。(若接触过Arduino的便可跳过本段接下来的部分。)
新创建好的main文件中有这两个函数:setup和loop;
setup函数内主要放置初始化的内容,列如中断初始化,串口初始化...等等;
void setup() {
// put your setup code here, to run once:
}
loop函数相当于一个while(1)循环,程序烧录执行后,会一直不断循环此内的函数
void loop() {
// put your main code here, to run repeatedly:
}
学习过51或者stm32等单片机的朋友可以理解这两个函数相当于以下作用;
至此,关于环境的搭建和ESP32的简单介绍已经完成,后续文章将讲解ESP32中断、串口、蓝牙....等等。