简介
对单片机最早的认识是大一的时候刷到的C51单片机,那时候玩了一阵子感觉可玩性不高,后来有了解到Arduino,买了两Uno回来用Arduino开发感觉可玩性和快速开发都比C51强多了,再后来了解了NodeMCU这玩意,又入手了Esp8266、Esp32、Esp32 Cam、STM32,当时还是用的Arduino软件去参考各个帖子(自己做了些修以备自查)配置三者的开发环境,单单是一个esp8266的开发环境当时就配置了很久,更不用说Esp32、cam、stm32了,以至于后面配置的stm32都无法使用。。。。
而且换电脑之后就不想再折腾环境了。。。。真的耗费时间,现在2020年啊,怎么还会有那么愚蠢的软件环境设计???于是在经过一番查找了解了PlatformIO,支持跨平台开发世界上的**绝大多数板子**,**一键配置**开发环境,这么香
2020年你还在用Arduino??快开始用PlatformIO开发Esp8266/32、Arduino、STM32,十分钟亲测ESP8266_Kearney-CSDN博客blog.csdn.net这里以Esp8266为例
安装PlatformIO
首先要安装VS code,然后在VS code里面安装PlatformIO IDE即可
装开发板 与 第一个Demo
Framework讲解
在选择NodeMCU 1.0之后,框架就有四种选择 Arduino、Simba、ESP8266 RTOS SDK、ESP8266 Non-OS SDK
**Arduino**框架用过Arduino开发的盆友都知道是啥东西;
**Simba**真不了解。。。。
最后两是乐鑫自家推出的框架,
ESP8266 RTOS SDK是基于FreeRTOS,在GitHub上开源。
**RTOS**版本SDK使用FreeRTOS系统,引入OS多任务处理机制,用户可以使用FreeRTOS的标准接口实现资源管理、循环操作、任务内延时、任务间信息传递和同步等面向任务流程的设计方式。RTOS版本兼容non-OS SDK中WiFi接口、SmartConfig接口、Sniffer相关接口、系统接口、定时器接口、FOTA接口和外围驱动接口,不支持AT实现。
**Non-OS** 是不基于操作系统的SDK,提供IOT_Demo和AT的编译。Non-OS SDK主要使用定时器和回调函数的方法实现各个功能事件的嵌套,达到特定条件下触发特定功能函数的目的。
那选择困难症来了,选哪一个???
> ESP8266_RTOS_SDK's framework is quite outdated and different from the current esp-idf and we are planning to migrate ESP8266_RTOS_SDK to esp-idf eventually after v2.0.0.
根据基友站点的描述,乐鑫认为 ESP8266_RTOS_SDK已经过时了。。。乐鑫打算在Esp-IDF v2之后把 ESP8266_RTOS_SDK纳入IDF中。但截至2020,10,23在Esp12系列的Framework中还没出现IDF选项。。。
> However, we will firstly provide a new version of ESP8266 SDK (ESP8266_RTOS_SDK v3.0), which shares the same framework with esp-idf (esp-idf style), as a work-around, because the multi-CPU architecture is not supported by esp-idf for the time being.
后面又说道先推出具有和IDF相似架构的ESP8266_RTOS_SDK v3.0,阿哲,那我还是先选择Arduino框架吧
选择好参数、设置好项目名称之后就可以点击Finish完成了,然后等待第一次自动配置环境,8:45-8:47,这速度感人吗??反正我是感到了
```cpp
#include <Arduino.h>
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED_BUILTIN, LOW);
delay(1000);
digitalWrite(LED_BUILTIN, HIGH);
delay(1000);
}
```
编辑完成代码之后点击最下面的钩钩开始编译,编译完成之后(当然要把开发板插上啦)点击水平箭头上传
效果
开发板上的灯一闪一闪的,别问我为什么我图里的没有闪。
References
- [NodeMCU开发环境搭建之PlatformIO (ESP8266)](NodeMCU开发环境搭建之PlatformIO (ESP8266))
- [PlatformIO Esp8266 Esp32 Arduino 解决库下载失败问题(Libraries: Could not install library)](PlatformIO Esp8266 Esp32 Arduino 解决库下载失败问题(Libraries: Could not install library))
- [ESP32-S2 support status in ESP-IDF](ESP32-S2 support status in ESP-IDF)
- [ESP32 物联网开发框架 ESP-IDF 版本推荐](ESP32 物联网开发框架 ESP-IDF 版本推荐(持续更新))
- [espressif/ESP8266_RTOS_SDK - Github](espressif/ESP8266_RTOS_SDK)
- [ESP8266_RTOS_SDK (IDF Style) Programming Guide](ESP8266_RTOS_SDK (IDF Style) Programming Guide)
- [聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 环境搭建)](聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 环境搭建))