请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:TMS570LC4357 工具与软件:
、尊敬的 TI 团队
我将使用 TMS570LC4357-S25FL512S 读取 EP 的 ID
我使用的是缓冲器数量设置为6的多缓冲器模式。
以下是我的配置:
1) Charlen = 8
2) 2) CSHOLD 位=被设定
3) 3) CSNR 设置正确。
4) 4) SPIDELAY 的所有字段都设置为0。
5) 5)具有 CS 的四引脚配置、无使能引脚
6) 6) SPI FMT 寄存器的 WDELAY 字段设置为0
7)数据格式3.
以下是我的代码:
/* USER CODE BEGIN (0) */
#include "HL_mibspi.h"
#include "HL_sys_core.h"
/* USER CODE END */
/* Include Files */
#include "HL_sys_common.h"
/* USER CODE BEGIN (1) */
/* USER CODE END */
/** @fn void main(void)
* @brief Application main function
* @note This function is empty by default.
*
* This function is called after startup.
* The user can use this function to implement the application.
*/
/* USER CODE BEGIN (2) */
uint16_t txBuffer[6] = {0x90U, 0x00U, 0x00U, 0x00U, 0xFFU, 0xFFU}; // 命令+地址+哑数据
uint16_t rxBuffer[6] = {0};
uint32_t group=0;
/* USER CODE END */
int main(void)
{
/* USER CODE BEGIN (3) */
_enable_IRQ_interrupt_();
uint16 * data;
mibspiInit();
mibspiSetData(mibspiREG1, group, &txBuffer[0]);
mibspiTransfer(mibspiREG1, group); //send data
while (!mibspiIsTransferComplete(mibspiREG1, group)); // wait transfer complete
mibspiGetData(mibspiREG1, group, &rxBuffer[0]); // get data
while(1);
/* USER CODE END */
return 0;
}
S25FL512S 的时序如下图所示

结果:
MibSPI1发送的数据可以由外部 USB 接收到 SPI 电路板、但电路板不会发送任何数据、奇怪的是、MibSPI1可以接收一些数据。


MibSPI1、S25FL512S 发送的数据不会返回 ID、rxbuff 全部为 FF
请帮助分析问题的原因
我尝试过的方法: C2TDELAY 2.