在Arduino环境下设置ESP32的i2c/spi接口

前言

在各种ESP32系列文档介绍中注明了具备各种外设通讯功能例如I2C、I2S、UART、SPI等。但是又在功能引脚上示意图没有标注这些功能是哪个引脚。这个疑问在外设管脚分配中得到了解答,诸如I2C、I2S、UART、SPI等外设接口可以被定义为任意GPIO管脚,所以就没有必要在 功能示意图上标注出来了,反正任何一个GPIO都可以赋予这些外设接口I2C、I2S、UART、SPI功能所需要的引脚某个引脚功能。

在Arduino编程环境下进行管脚定义

操作时确保arduino已经安装esp32的开发板库

管脚定义是以.h文件的形式存储在你的arduino库中的,文件位置如下:

C:\Users\你的用户名\AppData\Local\Arduino15\packages\esp32\hardware\esp32\你的esp32库版本\variants\你的开发板\pins_arduino.h

例如,你使用的esp32版本为3.1.1,要修改esp32 c3的管脚定义,定义文件位置就是:

<……>\Arduino15\packages\esp32\hardware\esp32\3.1.1\variants\esp32c3\pins_arduino.h

如果你的arduino安装位置改过,那就到你设置的位置找,一般是上面这个。

定义解释

直接贴出c3板子的代码:

上文省略
static const uint8_t TX = 21;
static const uint8_t RX = 20;

static const uint8_t SDA = 8;//I2C数据
static const uint8_t SCL = 9;//I2C时钟

static const uint8_t SS = 7;//SPI Slave Select或CS
static const uint8_t MOSI = 19;//SPI Out
static const uint8_t MISO = 5;//SPI In
static const uint8_t SCK = 18;//SPI时钟

static const uint8_t A0 = 0;
static const uint8_t A1 = 1;
static const uint8_t A2 = 2;
static const uint8_t A3 = 3;
static const uint8_t A4 = 4;
static const uint8_t A5 = 5;

更改完成后记得保存

更换esp32库版本需要重新改管脚定义,可以自己备份一个。

其他

也是我网上搜罗一圈+自己摸索出来的,有错误请留言指正,我看到了会第一时间修改的~

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇