简介
对单片机最先的认识是大一的时候刷到的C51单片机,那时候玩了一阵子感受可玩性不高,后来有了解到Arduino,买了两Uno回来用Arduino开发感受可玩性和快速开发都比C51强多了,再后来了解了NodeMCU这玩意,又入手了Esp826六、Esp3二、Esp32 Cam、STM32,当时仍是用的Arduino软件去参考各个帖子(本身作了些修以备自查)配置三者的开发环境,单单是一个esp8266的开发环境当时就配置了好久,更不用说Esp3二、cam、stm32了,以致于后面配置的stm32都没法使用。。。。
并且换电脑以后就不想再折腾环境了。。。。真的耗费时间,如今2020年啊,怎么还会有那么愚蠢的软件环境设计???因而在通过一番查找了解了PlatformIO,支持跨平台开发世界上的绝大多数板子,一键配置开发环境,这么香
php
这里以Esp8266为例html
安装PlatformIO
首先要安装VS code,而后在VS code里面安装PlatformIO IDE便可
git
装开发板 与 第一个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主要使用定时器和回调函数的方法实现各个功能事件的嵌套,达到特定条件下触发特定功能函数的目的。
那选择困难症来了,选哪个???
github
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.ide
后面又说道先推出具备和IDF类似架构的ESP8266_RTOS_SDK v3.0,阿哲,那我仍是先选择Arduino框架吧
选择好参数、设置好项目名称以后就能够点击Finish完成了,而后等待第一次自动配置环境,8:45-8:47,这速度感人吗??反正我是感到了
函数
#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); }
编辑完成代码以后点击最下面的钩钩开始编译,编译完成以后(固然要把开发板插上啦)点击水平箭头上传
oop
效果
开发板上的灯一闪一闪的,别问我为何我图里的没有闪。
ui
References
- NodeMCU开发环境搭建之PlatformIO (ESP8266)
- PlatformIO Esp8266 Esp32 Arduino 解决库下载失败问题(Libraries: Could not install library)
- ESP32-S2 support status in ESP-IDF
- ESP32 物联网开发框架 ESP-IDF 版本推荐
- espressif/ESP8266_RTOS_SDK - Github
- ESP8266_RTOS_SDK (IDF Style) Programming Guide
- 聊聊ESP8266的SDK(ESP8266_RTOS_SDK v3.3 环境搭建)