Hello. I've designed a PCB board with several sensors that can handle both SPI and I2C. When selecting the sensors I found that all of them could use SPI (SD Card, kinetic sensor, pressure sensor), so I routed my board accordingly. Now, I've found out the the pressure sensor that I selected only comes in I2C operation (despite the datasheet suggesting otherwise). So I have two sensors and an SD card on the same bus: Same SCLK, independent CS's, with MOS and SDA being the same wire.
I coded an I2C handle class and an SPI handle class, but I understand both Wire.h and SPIClass can't work on the same pins at the same time. So my intention is to switch between them during execution, alternating between SPI and I2C as needed.
My question is: Should I use pointers for Wire and SPIClass, construct them and destruct them periodically? Or is it a better solution?
I've noticed both objects have "Begin()" and "End()" instructions, can I use these two in order to alternate between the two?
Also, I will need to implement ULP operation in the future with I2C functionality. I know the UDP is programmed with assembly, but: Will these two handlers mingle with the ULP i2c in some way? Does the device eliminate the handlers as I got into deep_sleep, or do they remain configured/in begin() or end() condition?
Your help will be thanked dearly
SPI and I2C on the same Pins
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- Hardware
- ESP-IDF
- ESP-BOX
- ESP-ADF
- ESP-MDF
- ESP-WHO
- ESP-SkaiNet
- ESP32 Arduino
- IDEs for ESP-IDF
- ESP-AT
- ESP IoT Solution
- ESP RainMaker
- Rust
- ESP8266
- Report Bugs
- Showcase
- Chinese Forum 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- 全国大学生物联网设计竞赛乐鑫答疑专区
- ESP-IDF 中文讨论版
- 《ESP32-C3 物联网工程开发实战》书籍讨论版
- 中文文档讨论版
- ESP-AT 中文讨论版
- ESP-BOX 中文讨论版
- ESP IoT Solution 中文讨论版
- ESP-ADF 中文讨论版
- ESP Mesh 中文讨论版
- ESP Cloud 中文讨论版
- ESP-WHO 中文讨论版
- ESP-SkaiNet 中文讨论版
- ESP 生产支持讨论版
- 硬件问题讨论
- 项目展示
Who is online
Users browsing this forum: No registered users and 47 guests
- All times are UTC
- Top
- Delete cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. ESP8266EX and ESP32 are some of our products.