简介

对单片机最早的认识是大一的时候刷到的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 环境搭建))

arduino esp8266_你还用Arduino?上PlatformIO开发Esp、AVR、STM32,十分钟亲测ESP8266相关推荐

  1. YDOOK: Sanic: Python request post请求 上传照片或文件 详细具体步骤 亲测可用!

    YDOOK: Sanic: Python request post请求 上传照片或文件 详细具体步骤 亲测可用! ©YDOOK JYLin 1. 项目目录架构: Upload result: 上传结果 ...

  2. transporter上传卡正在交付_Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用...

    Xcode11使用Transporter上传AppStore时卡住解决方式,亲测可用 在Authenticating with the iTunes store(即AppStore认证)卡住 解决办法 ...

  3. 在钉钉上怎么手写_胖·评测|亲测!磐度A5数字纸笔手写板能适配多少直播平台?...

    停课不停学,各大科技企业纷纷推出各类教学平台吗,一时之间可谓百家争鸣!但是对于一线教师而言,除了为可怕的直播拥堵与繁琐的直播操作而头痛之外,一个更可怕的事实出现了--解题答疑,没有趁手的好工具怎么搞定 ...

  4. tensorflow在AMD上用ROCm框架实现GPU训练(亲测有效)

    众所周知,a卡对于tensorflow gpu的支持很小,要想使用的话一般都得配n卡的电脑.而我只是感兴趣一个项目,想要跑出来一个模型,如果不用gpu加速,可能得跑一个月,所以不得不寻找在a卡上的解决 ...

  5. easyui 动态设置单元格控件_比Excel还简单,实现动态报表原来只需要十分钟!

    做过报表的人,尤其是经常有报表需求的人,想必都会有这样一个困惑: 为什么同样是做报表,其他人的报表就能够得到领导的肯定,而自己的报表就会被老板丢掉一边? 这个问题其实很好回答,你想一想,如果你是老板, ...

  6. Ubuntu16.04安装Caffe史上最详细教程(CPU),亲测三次!!!

    一.前言 为了安装caffe,本人已经在centos7.x上试错了1次,目前弃疗~:在Ubuntu18.04上试错了3次,目前也弃疗~不是我懒,说实话,bug是真tm多,问问度娘,自己体会体会~我一向 ...

  7. c语言函数视频编程,史上最高效编程学习方法,十分钟学会使用C语言函数

    一.什么是函数 1.C程序的基本单元 C程序中,为了方便规划.编写.调试,需要把程序分模块来编写. 加法 乘法 减法 除法 2.用来实现程序的一些具体的功能 每一个模块实现单一功能. 3.函数注意: ...

  8. summernote支持视频上传功能,综合几个版本亲测可用

    原框架只支持视频链接上传,局限性比较大,不能上传本地的视频,综合这我查了几天资料 ,有个版本要么可用但是部分图标显示错误,综合0.8.12和0.8.18 版本整理.增加上传内容转载其他处,其余的均是自 ...

  9. 马士兵—JVM—内存溢出—1.线上OOM(内存溢出)问题排查——亲测

    1. 模拟线上oom问题 1.1 代码 @GetMapping("/addList")public void addList(){List list = new ArrayList ...

最新文章

  1. 怎样使用计算机上的高级共享设置密码,win7系统电脑,如何设置共享,共享计算机的用户名和密码怎样设置...
  2. PHP中设置一个严格30分钟过期Session面试题的4种答案
  3. 转:高等数学、线性代数、概率论数理统计书籍推荐
  4. “睡服”面试官系列第十一篇之module加载实现(建议收藏学习)
  5. Android 内部存储安装apk文件实现
  6. 汇编学习--7.13--标志寄存器
  7. SGU 176 Flow construction(有上下限的最小流)
  8. 网站优化之如何让站群链轮做到极致
  9. 自己实现简单Java缓存类
  10. TextMeshPro备用字体疑问
  11. RINEX 3.04
  12. OLTP-Bench Testbed
  13. 计算机系统常见故障及处理,电脑常见故障以及解决方案都在这里!
  14. java short 转char_byte,short,char的类型转换
  15. 解决外接显示屏耳机没声音问题
  16. CTF PWN之heap入门 unlink
  17. Frontiers | 北林邬荣领/何晓青-网络作图揭示拟南芥与叶际微生物组互作机制
  18. matlab存储excel数据,怎么把matlab表格数据写入excel-怎么把matlab中处理的数据存入到excel中...
  19. 【已解决】ERROR: ENOENT: no such file or directory,open
  20. 领英个人简介如何支持html,普通外贸业务员怎么在领英上写一份完美的自我简介( Summary)?...

热门文章

  1. Facebook升级到MySQL 8.0付出的代价
  2. 生成文件的另一种思路——共享文件同步
  3. malloc动态内存分配
  4. 类模板的分离式编译错误解决
  5. html教程padding,HTML CSS——margin和padding的学习
  6. java变量用来干嘛_Java
  7. rust雪山矿洞几个入口_梅里雪山内转全记录(雨崩徒步:神湖神瀑冰湖)
  8. mysql jdbc 绑定变量_jdbc测试mysql数据库sql预解析(绑定变量)
  9. delphi listview 添加数据 慢_ListView 的缓存机制
  10. alpine linux图形界面_跟光磊学Linux运维-Linux入门与基本使用