你好,我是愛吃魚香ROS的小魚。上一節(jié)我們對(duì)單片機(jī)硬件進(jìn)行了簡(jiǎn)單介紹,但單片機(jī)運(yùn)行不僅僅需要硬件,類似于電腦需要配套的操作系統(tǒng)一樣,單片機(jī)還需要與之配套的軟件,本節(jié)我們學(xué)習(xí)下常見的開發(fā)平臺(tái)。
我們的MicroROS板采用的單片機(jī)是ESP32芯片,該芯片支持藍(lán)牙和WIFI并且是雙核的***,用途很廣,所以小魚就介紹下該芯片的常用的幾個(gè)開發(fā)平臺(tái)。
一、官方平臺(tái)-ESPIDF(ESP IoT Development FrameWork)
所謂官方平臺(tái)就是單片機(jī)的廠商,針對(duì)單片機(jī)提供的開發(fā)框架,該框架為我們提供了一個(gè)C/C++ SDK,我們通過include相應(yīng)的頭文件就可以實(shí)現(xiàn)對(duì)硬件的控制。
下面這一段是官方介紹
ESP-IDF 是樂鑫官方的物聯(lián)網(wǎng)開發(fā)框架,適用于 ESP32、ESP32-S、ESP32-C 和 ESP32-H 系列 SoC。它基于 C/C++ 語(yǔ)言提供了一個(gè)自給自足的 SDK,方便用戶在這些平臺(tái)上開發(fā)通用應(yīng)用程序。ESP-IDF 目前已服務(wù)支持?jǐn)?shù)以億計(jì)的物聯(lián)網(wǎng)設(shè)備,并已開發(fā)構(gòu)建了多種物聯(lián)網(wǎng)產(chǎn)品,例如照明、消費(fèi)電子大小家電、支付終端、工控等各類物聯(lián)網(wǎng)設(shè)備。
ESP-IDF的核心其實(shí)是基于開源的FreeRTOS優(yōu)化而來(lái)的,而FreeRTOS是一個(gè)迷你(幾k大?。┑膶?shí)時(shí)操作系統(tǒng)內(nèi)核,所以別看它小,照樣跑了個(gè)操作系統(tǒng)。
展示一段ESP_IDF版本的HelloWorld,感受一下
/*
* SPDX-FileCopyrightText:2010-2022EspressifSystems(Shanghai) CO LTD
*
* SPDX-License-Identifier: CC0-1.0
*/
#include< stdio.h >
#include< inttypes.h >
#include"sdkconfig.h"
#include"freertos/FreeRTOS.h"
#include"freertos/task.h"
void app_main(void)
{
printf("Hello world!\\n");
vTaskDelay(1000/ portTICK_PERIOD_MS);
fflush(stdout);
esp_restart();
}
二、Arduino平臺(tái)
Arduino是一款便捷靈活、方便上手的開源電子原型平臺(tái),本次MicroROS學(xué)習(xí)就是基于該平臺(tái)進(jìn)行開發(fā)。
展示一段Arduino版本的HelloWorld代碼,感受一下
#include< Arduino.h >
void setup(){
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Hello World!");
}
void loop(){
// put your main code here, to run repeatedly:
}
三、MicroPython平臺(tái)
大家都知道,人生苦短,我用Python,針對(duì)單片機(jī)平臺(tái),有沒有可能使用Python開發(fā)呢?——MicroPython來(lái)了。
MicroPython是 Python 3 語(yǔ)言的精簡(jiǎn)實(shí)現(xiàn) ,包括Python標(biāo)準(zhǔn)庫(kù)的一小部分,經(jīng)過優(yōu)化可在微控制器和受限環(huán)境中運(yùn)行。
同樣的我們的MicroROS板同時(shí)也是支持使用MicroPython進(jìn)行開發(fā),只需要刷入相應(yīng)的固件即可。
展示一段MicroPython的HelloWorld代碼,感受下它的簡(jiǎn)單
print('Hello, World!')
四、對(duì)比與總結(jié)
上面介紹了三種常見的平臺(tái),小魚做個(gè)表格對(duì)比下三種平臺(tái)的優(yōu)缺點(diǎn)。
平臺(tái)名稱 | 優(yōu)點(diǎn) | 缺點(diǎn) |
---|---|---|
ESP_IDF | 官方出品、測(cè)試完成度高、安全穩(wěn)定、有官方支持、適合產(chǎn)品化、支持microROS | 三方教程少、工程復(fù)雜、新手不友好 |
Arduino | 社區(qū)龐大,教程豐富、新手友好,簡(jiǎn)單易用、支持microROS | 封裝較多 |
MicroPython | Python語(yǔ)言、簡(jiǎn)單易用 | 解釋執(zhí)行,效率低下,封裝較多,不支持microROS |
看完上面的對(duì)比,對(duì)于新手來(lái)說(shuō)選擇Ardunio平臺(tái)容易入門且教程豐富,并且ESP32單片機(jī)是官方出品了Arduino支持(開源地址:https://github.com/espressif/arduino-esp32)。
了解完單片機(jī)開發(fā)平臺(tái),下一節(jié)我們正式搭建開發(fā)環(huán)境,然后開始編寫我們的第一個(gè)HelloWorld工程!
-
單片機(jī)
+關(guān)注
關(guān)注
6039文章
44575瀏覽量
636373 -
微處理器
+關(guān)注
關(guān)注
11文章
2269瀏覽量
82546 -
RTOS
+關(guān)注
關(guān)注
22文章
817瀏覽量
119715 -
Arduino
+關(guān)注
關(guān)注
188文章
6472瀏覽量
187317 -
Micropython
+關(guān)注
關(guān)注
0文章
68瀏覽量
4752
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
![](https://file1.elecfans.com/web2/M00/87/D2/wKgaomRmmRSATthVAAAxvHvpQlI374.png)
ARM微處理器介紹
基于ARm架構(gòu)的嵌入式微處理器
微處理器、單片機(jī)的概述和對(duì)比
微處理器與單片機(jī)的概述和對(duì)比
基于arduino Nano的ATtiny微處理器編程器
新唐NuMicro Arm9微處理器介紹
奔騰(Pentium)微處理器介紹
![奔騰(Pentium)<b class='flag-5'>微處理器</b><b class='flag-5'>介紹</b>](https://file1.elecfans.com//web2/M00/A4/7E/wKgZomUMNHKAJKuRAACEC08Ybfg077.jpg)
SPARC微處理器綜合介紹
![SPARC<b class='flag-5'>微處理器</b>綜合<b class='flag-5'>介紹</b>](https://file1.elecfans.com//web2/M00/A5/A0/wKgZomUMOUuAMjcWAACEYP35axg274.jpg)
TI微處理器介紹
![TI<b class='flag-5'>微處理器</b><b class='flag-5'>介紹</b>](https://file.elecfans.com/web2/M00/49/1F/pYYBAGKhtDqAcGgUAAARt5gqeWk254.jpg)
微處理器是cpu嗎?微處理器和cpu的區(qū)別
![<b class='flag-5'>微處理器</b>是cpu嗎?<b class='flag-5'>微處理器</b>和cpu的區(qū)別](https://file.elecfans.com/web1/M00/4F/88/o4YBAFreg4SATI8rAACz-FLVoxA481.jpg)
評(píng)論