WIFI技术
直播中

贾飞小

7年用户 1757经验值
私信 关注
[问答]

Cyw20719B2的SPI经常不能正常工作的原因?

cyw20719b2的SPI1工作于slave模式,外设发送的数据经常不能被cyw20719b2的SPI1正常接收。现象如下:
1)cyw20719b2启动后,如果SPI1第一次接收的数据正常,那么之后始终可以正常接收。
2)cyw20719b2启动后,如果SPI1第一次接收的数据不正常,那么之后都正常,而且从FIFO读入的都保持同样的数值。
代码片段如下:
#include "wiced_hal_pspi.h"
...
wiced_hal_pspi_reset(SPI1);
wiced_hal_pspi_init(SPI1, 0, SPI_LSB_FIRST, SPI_SS_ACtiVE_HIGH, SPI_MODE_1);
wiced_hal_pspi_slave_enable_rx(SPI1);
...
wiced_hal_pspi_slave_rx_data();
...

问题可能出在什么地方?


回帖(1)

1653339509.516700

2024-3-4 17:07:24
可能导致Cyw20719B2的SPI1无法正常工作的原因有以下几点:

1. 时钟配置错误:SPI需要正确的时钟配置才能按照预期工作。请确保SPI1的时钟设置正确。

2. 引脚配置错误:SPI需要正确的引脚配置才能正常工作。请确保SPI1的引脚配置正确。

3. 初始化错误:在初始化SPI1之前,请确保已正确进行了硬件初始化,并且所有必要的寄存器已经正确设置。

4. 数据传输错误:如果外设的数据传输速率超过Cyw20719B2的处理能力,那么数据可能会丢失或无法正常接收。请确保外设的数据传输速率与Cyw20719B2的处理能力相匹配。

5. 中断处理错误:如果SPI1的中断处理程序存在问题,可能会导致数据丢失。请确保中断处理程序正确设置,并根据需要进行必要的错误处理。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分