This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
器件型号:Hercules _SAFETY_MCU_DEMOS
工具/软件:TI C/C++编译器
您好!
我被配置为 SPI1、SPI2、SPI3和 SPI4使用 Halcogen。 SPI1、SPI3和 SPI4工作良好、但 SPI2有一些问题。
当我使用 spiTransmitAndReceiveData (spiBASE-t * SPI、spiDAT1_t * dataconfi_t、uint32 blocksize、uint16 * srcbuff、uint16 * destbuff)时、 第一个字节传输失败:
SPI->IntFlg = 0x01000210 = BITERRFLG 为1。 我尝试一次使用一个 SPI、我尝试发送相同的消息。
可以帮帮我吗?
P.s:此时、我在没有任何从器件的情况下使用 SPI2、我使用示波器查看信号。
您好!
您的测试中使用了哪个 TMS570LS3137封装? 144 PGE 封装没有 SPI2。
BITERRFLG:SPIFLG 的第4位
该位错误可能是位 速率过高、容性负载或另一个尝试同时发送的主/从器件。
BUFINTACTIVE: 多缓冲 RAM 仍在初始化中。 由于 SPI2不支持多缓冲模式、该位应该被置位。
您好、Wang、
感谢您的回答、我的 uC 是 TMS570LS3137ZWT。 它具有 SPI2、没有设置多缓冲器。 频率为800kHz、我尝试使用300kHz、但错误相同。
这是因为它连接到了不带 microSD 的模块吗?
谢谢、
Daniela
Daniela、您好!
向未连接的 SPI 从器件传输数据不会导致任何问题。
您的配置没有任何问题。
我使用了相同的设置、但没有看到 biterr。 如数据表所述、BITERR 可能是由高比特率、电容负载或另一个主/从尝试同时传输引起的。