esp32和stm32哪个好
关于国内的大学生或许单片机从业者来说,STM32应该是比较了解的一个系列的单片机,而ESP32相对生疏一些。可是从姓名看,两者应该都是32位单片机。那么两者之间到底有什么相关,或许功用哪个好一些,哪个差一些呢?
今日,做为爱考虑的单片机爱好者,简略的剖析一下。
首要说STM32,这个咱们应该是比较了解了。意法半导体在2007年6月11日发布了全球首款STM32产品,也便是F1系列,根据ARM-CORTEX内核。在这以后的几年,陆陆续续发布了不同定位、不同方向的多款产品。有面向低功耗的L系列,有高功用的F2和F4系列,有贱价的F0系列,有高速的F7系列等等。咱们能够经过下面的这个图,有一个大致的了解:
所以,你会发现,STM32不是一个详细的单片机类型,而是一个或许多个系列的,根据ARM内核的单片机宗族的总称。
那么,ESP32是什么?
它是乐鑫公司推出的一款选用两个哈佛结构 Xtensa LX6 CPU 构成的具有双核体系的芯片。一切的片上存储器、片外存储器以及外设都散布在两个 CPU 的数据总线和/或指令总线上。
比较于STM32的一个咱们族,ESP32尽管也代表一个系列,但现在来说,这个系列的成员仍是比较少的,咱们看下:
那么,两者之间该怎么比照?先看ESP32的硬件,我直接放官方数据手册里的装备:
功用框图如下:
模块(非芯片)的引脚散布如下:
你会发现,ESP32这个模块的IO并不多,估量也就30个左右(芯片有34个,可是模块中外接FLASH用掉了一些)。可是你会发现它有几个特色:
1、集成了十分多的外设接口,SPI、IIC、IIS、AD、DA、PWM、IR、UART、CAN等等。IO数量有限,所以基本上每个IO都有多个功用。
2、片内flash和ram很大,flash有448KB,ram有520KB。而模块上直接挂了一个4MB的flash。大的不像话!
3、速度快!尽管外接晶体的频率只要40MHZ,但经过内部主频能够支撑80MHZ、160MHZ、240MHZ,运算才能高达600MIPS。
4、有wifi和蓝牙!当时两者不能一起运用。
那么,它怎么跟STM32比照?或许说,咱们用STM32的哪一款来和ESP32进行比照呢?
这儿,我重视的要素是价格!也便是说,挑选和ESP32模块价格挨近的STM32芯片来比照!
为什么选ESP32模块而不是芯片?因为国内的厂家安信可对乐鑫公司的芯片做了一个比较老练的模块封装,而国内工程师更了解的都是模块。
ESP32-S的模块在安信可淘宝店的价格是18.9元(留意,模块方式的ESP32有一片外挂的FLASH,巨细是4MB),如下:
所以,这儿咱们找一个STM32系列里,价格在20元左右的芯片。这儿,我选了STM32F407VET6,它在立创商城的价格是500片+的时分,22元/片。关于该芯片的装备,我直接放个图,咱们体会一下(ps:这是一个100管脚的芯片)。
比照这两者,你会发现STM32F407有以下几个特色:
1、GPIO十分多,82个,UART、IIC、SPI、PWM、AD、DA等功用也许多,但不会呈现ESP32那种GPIO不够用的状况。
2、主频168MHZ,比ESP32的240HMZ低了一些。运算才能210DMIPS,也低了一些。
3、flash和ram都相对小一些。
4、有线网口,不能无线上网。
经过比照,你会发现两者基本是有各自不同的定位。ESP32倾向体积细巧、速度超快、功用强壮,经过wifi接入网络,专门为物联网而生;而STM32倾向管脚丰厚、功用全面,尽管没有wifi和蓝牙,速度也没有ESP32快,可是能够经过网口接入网络,能够操控更多的外设,为消费电子和工业操控而生。
所以,两者的定位并不相同,做为工程师的你,必定要根据自己的项目需求来进行芯片的选型。
ESP32比照ESP8266
在你的项目中运用ESP32或ESP8266吗?ESP32和ESP8266有什么差异?在本文中,咱们将经过比较ESP32和ESP8266来答复这些问题,并包括每个板的优缺陷。
ESP32和ESP8266是性价比十分高的Wi-Fi模块,十分合适物联网(IoT)范畴的DIY项目。
两款芯片都归于32位处理器。ESP32是双核160MHz至240MHz CPU,而ESP8266是单核处理器,运转频率为80MHz。
这些WiFi模块都带有GPIO,支撑SPI,I2C,UART等各种协议。最好的部分是它们带有无线网络,这使得它们与Arduino等其他微操控器差异开来。这意味着你能够经过Wi-Fi或蓝牙(ESP32)以极低的价格轻松地长途操控和监控设备。
标准:ESP32 vs ESP8266
该ESP32是ESP8266继任者。它增加了额定的CPU内核,更快的Wi-Fi,更多的GPIO,并支撑蓝牙4.2和蓝牙低功耗。此外,ESP32配有接触感应针脚,可用于唤醒ESP32深度睡觉,内置霍尔效应传感器和内置温度传感器。
两块板都十分廉价,但ESP32的本钱略高。尽管ESP32的价格大约在6美元到12美元之间,但ESP8266的价格却在4美元到6美元之间(但这取决于你取得它们的方位)。
ESP32上有更多GPIO
该ESP32有更多的GPIO比ESP8266,你能够决议哪些引脚UART,I2C,SPI -你只需要设置的代码。这是或许的,因为ESP32芯片的多路复用功用答应你为同一个引脚分配多个功用。
假如你没有在代码上设置它们,它们将坐落默许界说的引脚上,如下图所示(这是ESP32 DEVKIT V1 DOIT板的示例 – 引脚方位或许因制造商而异)。
PWM,ADC等
你能够在任何GPIO中设置PWM信号,并在代码上设置可装备的频率和占空比。
关于模仿引脚,这些是静态的,但ESP32支撑18个通道(模仿使能引脚)上的丈量,而ESP8266只要一个10位ADC引脚。ESP32还支撑两个8位DAC通道。
此外,ESP32包括10个电容感应GPIO,可检测接触并可用于触发事情,或唤醒ESP32深度睡觉。
Arduino IDE – ESP32 vs ESP8266
ESP32和ESP8266板的编程办法有许多种。现在,能够运用Arduino IDE编程环境对两个板进行编程。
这是一件功德,特别合适那些习气Arduino编程并了解Arduino编程言语的人。
运用Arduino IDE开始运用ESP32或ESP8266并让你的第一个项目运转十分简略。网上有十分多的攻略操作:比如在Arduino IDE中装置ESP32板(Windows阐明);在Arduino IDE中装置ESP32板(Mac和Linux阐明书);怎么在Arduino IDE中装置ESP8266板等。
尽管你能够运用Arduino IDE对两个板进行编程,但它们或许与相同的库和指令不兼容。有些库只与其中一个板兼容。这意味着大多数时分你的ESP8266代码与ESP32不兼容。可是,一般你只需要进行一些修正。
MicroPython Firwmare – ESP32 vs ESP8266
另一种对ESP32和ESP8266板进行编程的盛行办法是运用MicroPython固件。
MicroPython是针对微操控器和嵌入式体系的Python 3的从头完成。MicroPython与惯例Python十分类似。因而,假如你现已知道怎么运用Python编程,那么你也知道怎么在MicroPython中编程。
在MicroPython中,大多数Python脚本都与两个板兼容(与运用Arduino IDE时不同)。这意味着大多数时分你能够为ESP32和ESP8266运用相同的脚本。
所以,此刻你应该问: 我应该买ESP8266仍是ESP32?
这真的取决于你想做什么。两块板都有运用的价值,两者都有利有弊。
ESP8266比ESP32廉价。尽管它没有那么多的功用,但对大多数简略的DIY物联网项目来说作用都不错。此外,因为它“较旧”,因而在软件方面遭到更多支撑,你或许会更简略找到协助。可是,它在GPIO映射方面有一些约束,它或许没有满足的引脚用于你计划履行的操作。假如是这种状况,你应该运用ESP32。
ESP32比ESP8266 功用更强壮,包括更多具有多种功用的GPIO,更快的Wi-Fi,而且还支撑蓝牙。许多人以为ESP32比ESP8266更难处理,因为它更杂乱。在咱们看来,ESP32编程与ESP8266相同简略,特别是假如你计划用Arduino言语或MicroPython编程它。
另一方面,ESP32也有一些缺陷。首要,它比ESP8266贵。因而,假如你正在制造一个简略的物联网项目,那么ESP8266或许会以更低的价格成功。此外,因为它比ESP8266更新,并非一切软件都是为了充分利用ESP32功用而开发的,因而支撑更少,过错更多。但从久远来看,这些问题将得到解决,两个开发板都将有各自使用的空间。
小编引荐阅览:
ESP32环境建立以及入门编程_esp32引脚图
esp32用什么言语编程_SP32开发环境的建立