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.

TMS320F28377D: TMS320F28377D通过SPI访问FM25W256铁电读失败

Part Number: TMS320F28377D

你好,遇到如下问题,有会的帮忙解答一下,TMS320F28377D通过SPI访问FM25W256,读数据时一直返回0X00,通过示波器看过发送数据正常,就是读不到返回数据。代码如下:

初始化:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
void SPI_B_init()
{
SPI_disableModule(SPI_B_BASE);
SPI_setConfig(SPI_B_BASE, DEVICE_LSPCLK_FREQ, SPI_PROT_POL1PHA1, SPI_MODE_CONTROLLER, 1000000, 8);
SPI_setPTESignalPolarity(SPI_B_BASE, SPI_PTE_ACTIVE_LOW);
SPI_disableLoopback(SPI_B_BASE);
SPI_setEmulationMode(SPI_B_BASE, SPI_EMULATION_FREE_RUN);
SPI_enableModule(SPI_B_BASE);
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

SPI驱动程序:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/****************************************
: Drv_Spi_WriteByte
: SPIspi_initbit8
: base:SPIA/SPIB/SIPC; cData
******************************************/
void Drv_Spi_WriteByte(uint32_t base, uint8_t byte)
{
uint16_t word;
word = byte<<8;
SPI_writeDataBlockingNonFIFO(base, word);
}
/****************************************
: Drv_Spi_ReadByte
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

FRAM驱动程序:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define DEBUG_FRAM_TEST 1 //
#define FM_WREN 0x06
#define FM_WRDI 0x04
#define FM_RDSR 0x05
#define FM_WRSR 0x01
#define FM_WRITE 0x02
#define FM_READ 0x03
#define FRAM_ADDR_MAX 0x7FFF
// Static functions Defines
// 使
static void s_Fram_WriteEnable(uint8_t en_disen);
//
static void s_Fram_WriteSR(uint8_t val);
//
static uint8_t s_Fram_ReadSR(void);
// 使
static void s_Fram_WriteEnable(uint8_t en_disen)
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX