已解决
在ESP32上使用Arduino(Arduino as an ESP-IDF component)
来自网友在路上 144844提问 提问时间:2023-10-23 08:54:54阅读次数: 44
最佳答案 问答题库448位专家为你答疑解惑
目录
前言
原理说明
操作步骤
下载esp-arduino
安装esp-arduino
工程里配置arduino
1、勾选该选项,工程将作为一个标准的arduino程序工作
2、不勾选该选型,工程将作为一个传统的嵌入式项目开发,
前言
- Arduino拥有丰富的各类库,使用这些现成的轮子进行开发,可以事半功倍。
- ESP32是现在非常流行的IoT开发SOC,资料和开发板资源都很丰富,官方支持也非常到位,所以结合两者在一起使用,简直不要太香。
- 乐鑫官方提供了两种在ESP32上使用Arduino的方法,一种是以Arduino为主,IDF框架做为库被调用,适合于比较熟悉Arduino开发的同学;另一种是将Arduino作为IDF的一个组件,在IDF框架中,调用Arduino API来开发,适合平时熟练于嵌入式C开发的同学。我平时主要是做嵌入式开发,所以选择使用第二种方式
原理说明
将ESP-Arduino核心作为一个component,安装在ESP-IDF框架里,然后在工程的sdkconfig里配置选择使用Arduino的方式
操作步骤
下载esp-arduino
- git方式:https://github.com/espressif/arduino-esp32
- 下载release压缩包:Releases · espressif/arduino-esp32 · GitHub
注意:这里需要根据自己已有的ESP-IDF框架来选择合适版本的Arduino来下载,我使用的是IDF v4.4.5,所以下载如下版本:(个人推荐下载压缩包,比较快和方便)
安装esp-arduino
将下载的文件夹(压缩包需要解压:unzip xxx.zip)移动到ESP-IDF/components目录下,并重命名为arduino,这样就完成安装了
工程里配置arduino
新建工程,运行idf.py menuconfig进入工程配置界面,进入:Arduino Configuration --->
在如下红线选项里勾选与否,决定了不同使用arduino的方式
1、勾选该选项,工程将作为一个标准的arduino程序工作
接下来依次进行如下操作:
- 把工程里的main.c重命名为main.cpp
- 将工程里的CMakeList.txt重命名为main.cpp
- 在main.cpp里按照arduino程序的框架,include "arduino.h",并编写setup和loop函数,然后调用其它arduino API来进行应用业务编程
2、不勾选该选型,工程将作为一个传统的嵌入式项目开发,
- 首先最好还是重命名main.c为main.cpp,并在工程的CMakeList.txt里进行同样的更改
- main.cpp里,使用extern "C"来声明app_main()
- 调用initArduino()进行arduino core初始化
- 后面就可以调用arduino 及其库的API来进行应用编程
参考资料:Arduino as an ESP-IDF component — Arduino-ESP32 2.0.6 documentation
查看全文
99%的人还看了
相似问题
- 【华为数通HCIP | 网络工程师】821-IGP高频题、易错题之OSPF(2)
- 【机器学习】特征工程:特征选择、数据降维、PCA
- ODBC配置数据源及相关问题(“找不到工程和库”“实时错误91对象变量或with块变量未设置”等)
- 网工内推 | 字节原厂,正式编,网络工程师,最高30K*15薪
- [架构之路-247]:目标系统 - 设计方法 - 软件工程 - 结构化方法的基本思想、本质、特点以及在软件开发、在生活中的应用
- 软件测试/人工智能丨人工智能会取代软件测试工程师吗
- java源码-工程讲解
- 【LSTM】北京pm2.5 天气预测--pytorch版本,有代码可以跑通-LSTM回归问题,工程落地一网打尽
- ModernCSS.dev - 来自微软前端工程师的 CSS 高级教程,讲解如何用新的 CSS 语法来解决旧的问题
- 江湖再见,机器视觉兄弟们,我已经提离职了,聪明的机器视觉工程师,离职不亏本!
猜你感兴趣
版权申明
本文"在ESP32上使用Arduino(Arduino as an ESP-IDF component)":http://eshow365.cn/6-22317-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!