背景:
我的一个mcu通过spi (mosi,miso,clk,cs) + gpio连接esp32c3,然后我使用的是esp32 spi半双工的协议。
现象:
我目前使用spi半双工的segmenet模式,初始化的时候,我就初始化16个桶并用spi_slave_hd_queue_trans连续加了16个。 开机后,主机假设第一次连续执行了2次 (WRDMA + WR_DONE)事务操作后,接下来,我再让主机再次执行一样的2次(WRDMA+WR_DONE)的事务操作。 结果如下:
第一次的2次操作, 从机调用spi_slave_hd_get_trans_res都能获得正确的数,每次都正确。
第二次的2次操作,从机调用spi_slave_hd_get_trans_res,获得第一次数据是错误的数据,第二次数据才正确。
而且,从第一次过后,以后所有的WRDMA+WRDONE事务连续操作的数据,第一次收到的都是错误的,后面的就正确。
实在找不到有什么地方导致,难道第一次操作后,dma需要什么状态恢复?请大家帮忙
esp32的spi半双工的问题
Jump to
- English Forum
- Explore
- News
- General Discussion
- FAQ
- Documentation
- Documentation
- Sample Code
- Discussion Forum
- ESP32-S31
- 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 中文社区
- 活动区
- 乐鑫活动专区
- 讨论区
- ESP32-S31 中文讨论版
- 喵伴 中文讨论版
- 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 2 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.
Information
Espressif ESP32 ... Available now!