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

简介

对单片机最早的认识是大一的时候刷到的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
188fe5c397a0215a71790027a3b66c58.png

这里以Esp8266为例

安装PlatformIO

首先要安装VS code,然后在VS code里面安装PlatformIO IDE即可

d63095158afd717d001a470050a577a8.png

装开发板 与 第一个Demo

d63095158afd717d001a470050a577a8.png

e926ef4308f3cd477bbee12223f094d4.png

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框架吧

61c28ebee1253fb5107bf4d2d82ff2b8.png

选择好参数、设置好项目名称之后就可以点击Finish完成了,然后等待第一次自动配置环境,8:45-8:47,这速度感人吗??反正我是感到了

c6638052c5a111e43dc8babc3370824b.png

```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);

}

```

编辑完成代码之后点击最下面的钩钩开始编译,编译完成之后(当然要把开发板插上啦)点击水平箭头上传

364c34100a75fc603814b554a883ee62.png

894bcad967d193359a04e0c4f86e5d5b.png

效果

开发板上的灯一闪一闪的,别问我为什么我图里的没有闪。

57cc44fbfcb3e82b76009b6c9ca9767a.png

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 环境搭建))

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/559516.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java jpeg压缩解码_JPEG图像压缩原理简介

JPEG(发音&#xff1a;[ˈdʒeɪpɛg])是一种针对照片视频而广泛使用的有损压缩标准方法。这个名称代表 Joint Photographic Experts Group(联合图像专家小组)。联合图像专家小组1992年发布了JPEG的标准而在1994年获得了ISO 10918-1的认定。JPEG与视频音频压缩标准的MPEG(Movin…

bootstrap网页模板源码_Go Web 编程--超详细的模板库应用指南

如果你有过Web编程的经验&#xff0c;那么或多或少都听说过或者使用过模板。简而言之&#xff0c;模板是可用于创建动态内容的文本文件。例如&#xff0c;你有一个网站导航栏的模板&#xff0c;其中动态内容的一部分可能是根据当前用户是否登录显示登录还是退出按钮。Go提供了两…

python matpoltlib绘制动态图_使用Python、Geopandas和Matplotlib制作gif动态

原标题&#xff1a;使用Python、Geopandas和Matplotlib制作gif动态 不需要Photoshop&#xff1a;仅使用Python和命令行制作动画图表。作为一种编程语言&#xff0c;Python非常灵活。这使得有时可以在几行代码中进行大量不同的可视化成为可能。但是现在有了很多不同的图表网站和…

dst发育筛查有意义吗_儿童视力筛查,都筛些啥?

感谢眼科小伙伴们的早出晚归辛勤忙碌&#xff0c;感谢幼儿园、学校及小朋友们的积极配合&#xff0c;本学期的校园视力筛查也已进入尾声。相信爸爸妈妈们都已拿到了这样的筛查结果单&#xff1a;&#xff08;学龄前儿童仅行电脑验光筛查&#xff0c;学龄儿童还需行视力检查&…

java 堆_JAVA学习笔记 07——堆、栈和垃圾回收机制

程序执行的内存分析过程&#xff1a;虚拟机栈(简称&#xff1a;栈)的特点如下&#xff1a;1. 栈描述的是方法执行的内存模型。每个方法被调用都会创建一个栈帧(存储局部变量、操作数、方法出口等)。2. JVM为每个线程创建一个栈&#xff0c;用于存放该线程执行方法的信息(实际参…

dubbo 自定义路由_Dubbo分层架构概述

本节我们从整体上来看看 Dubbo 的分层架构设计&#xff0c;架构分层是一个比较经典的模式&#xff0c;比如网络中的7层协议&#xff0c;每层执行固定的功能&#xff0c;上层依赖下层提供的功能&#xff0c;下层对上层提供功能&#xff0c;下层的改变对上层不可见&#xff0c;并…

python类方法继承_python类的继承

一、概述 面向对象编程 (OOP) 语言的一个主要功能就是“继承”。继承是指这样一种能力&#xff1a;它可以使用现有类的所有功能&#xff0c;并在无需重新编写原来的类的情况下对这些功能进行扩展。 通过继承创建的新类称为“子类”或“派生类”&#xff0c;被继承的类称为“基类…

添加编译宏_软件开发——编译链接

对于平常的应用程序开发&#xff0c;我们很少需要关注编译和链接过程。我们平常Xcode开发就是集成的的开发环境(IDE),这样的IDE一般都将编译和链接的过程一步完成&#xff0c;通常将这种编译和链接合并在一起的过程称为构建&#xff0c;即使使用命令行来编译一个源代码文件,简单…

shell打开wifi命令_远程执行命令的填坑记录

前言本文主要记录 bash 四种模式的细节&#xff0c;以便于遇到问题时查阅。远程执行出错了最近使用 ansible 比较多&#xff0c;在某次使用 shell 模块远程执行命令的时候老是报 ‘command not found’。但是手动登录到远端机器执行命令是成功的&#xff0c;于是开始思考里面的…

nodejs express use 传值_再也不怕面试官问你express和koa的区别了

前言用了那么多年的express.js&#xff0c;终于有时间来深入学习express&#xff0c;然后顺便再和koa2的实现方式对比一下。老实说&#xff0c;还没看express.js源码之前&#xff0c;一直觉得express.js还是很不错的&#xff0c;无论从api设计&#xff0c;还是使用上都是可以的…

没有工作经验找it_校招和社招有什么区别?没有工作经验,如何找工作?

我们的招聘一般分为社招和校招。社招就是社会上招聘&#xff0c;绝大多数都要有相关的工作经验。而校招则是针对在校大学生的&#xff0c;所以应届毕业生的身份很重要&#xff0c;失去了这个身份&#xff0c;就要进入社招的渠道&#xff0c;面临的压力和要求都要高得多。那么&a…

python输入个人所得税计算_个税起征点上调至5000,用Python算一算少交多少税

原标题&#xff1a;个税起征点上调至5000&#xff0c;用Python算一算少交多少税今天出了一个重磅消息&#xff0c;个税起征点从3500上调到5000啦&#xff01; 广大IT农民工的生活压力又减轻了一些&#xff0c;有没有 晚上加一个鸡腿&#xff0c;要不要~ 开心归开心&#xff0c;…

hive 行转列和列转行的方法_面试常考!SQL行转列和列转行

关注上方“数据挖掘工程师”&#xff0c;选择星标&#xff0c;关键时间&#xff0c;第一时间送达&#xff01;行转列&#xff0c;列转行是我们在开发过程中经常碰到的问题。行转列一般通过CASE WHEN 语句来实现&#xff0c;也可以通过 SQL SERVER 的运算符PIVOT来实现。用传统的…

.net core 装了没生效_王者荣耀:辅助装出现惊天bug?辅助光环对自己无效?

大家好&#xff0c;我是老刘备。今天说的这个bug我已经发现许久&#xff0c;从新版本以来就一直在出现&#xff0c;起初我以为是辅助装的光环改动了&#xff0c;但是最近和我的小伙伴开黑之后也遇到这个bug&#xff0c;才发现不是如此。本期我就来带大家一起看看。辅助光环技我…

python sns绘制回归线_Python数分实战:员工流失情况预测

在很久之前&#xff0c;我有写一个Excel数据分析的实战项目&#xff0c;不晓得大家还记不记得&#xff0c;感兴趣的童鞋可以回看&#xff1a;A九姑娘&#xff1a;Excel数分实战&#xff1a;员工流失率分析​zhuanlan.zhihu.com本次的项目数据依旧是这个&#xff0c;但是我们这次…

go var 一个整数_Go语言学习基础-值、变量、常量

Hello world第一个程序是打印经典的“hello world”信息。保存为hello-world.go文件&#xff0c;在命令行中使用go run命令运行程序。若要构建为二进制文件&#xff0c;则使用go build来实现&#xff0c;然后直接执行二进制文件。结果&#xff1a;$ go run hello-world.gohello…

怎么取消自动格式化_iPhone自动扣费怎么取消?App Store、微信、支付宝关闭自动扣费教程...

经常有网友反馈&#xff0c;自己的手机每月会被不知不觉的被扣钱&#xff0c;但又不知道如何关闭&#xff0c;烦恼不已。其实&#xff0c;现在很多视频、音乐、购物等APP都有会员充值功能&#xff0c;其中不少还包含“自动续费”功能&#xff0c;一旦开启会员&#xff0c;今后就…

c# selenium chrome 文件下载_Selenium 框架原理以及环境安装

Selenium 框架原理图片来自转载 蓝色的图Selenium Language Binding就是我们平时使用的编码语言&#xff0c;包括java、python、C#等。可以看到这些语言并没有直接与Browser Drivers进行通信&#xff0c;而是通过了JSON WireProtocol&#xff0c;这就是webdriver协议 &#xff…

怎么打包图片_怎么将许多张照片打包发到邮箱?

怎么将许多张照片打包发到邮箱&#xff1f;所谓的打包&#xff0c;就是需要你把大量照片文件变成一个压缩文件&#xff0c;类似于放到一个文件夹内&#xff0c;也可以理解为把多张纸质照片装订成一个相册&#xff0c;而在装订过程中需要相应工具才能完成。使用压缩包发送文件&a…

dram sram利用 利用_使用量子力学技术的新型超低功耗存储器或将取代DRAM和Flash...

雷锋网按&#xff1a;业界普遍认为未来从数据中将能挖掘出最大的价值&#xff0c;但要挖掘数据的价值除了需要很强的计算能力之外&#xff0c;数据的存储也非常关键。目前&#xff0c;新型存储器也是领先的企业非常关注的一个方向&#xff0c;兰开斯特大学(Lancaster Universit…