在线时间2106 小时
UID3253523
注册时间2016-3-21
NXP金币1969
该用户从未签到
超级版主
- 积分
- 20117
- 最后登录
- 2024-5-3
|
发表于 2018-1-2 10:44:39
|
显示全部楼层
楼主你好!
你说的使能quad mode指的是这个函数吗:
enable_quad_mode();
你看下这个函数里面的代码:
void enable_quad_mode()
{
/* Write enable */
SPIFI_SetCommand(EXAMPLE_SPIFI, &command[WRITE_ENABLE]);
/* Set write register command */
SPIFI_SetCommand(EXAMPLE_SPIFI, &command[WRITE_REGISTER]);
SPIFI_WriteData(EXAMPLE_SPIFI, 0x40);
check_if_finish();
}
里面有write enable.
从SPIFI flash手册中可以知道:
也就是在做读写擦都需要这个命令的。
所以,我这边试了这样的命令:
spifi_command_t command[COMMAND_NUM] = {
{PAGE_SIZE, false, kSPIFI_DataInput, 1, kSPIFI_CommandDataQuad, kSPIFI_CommandOpcodeAddrThreeBytes, 0x6B},
{PAGE_SIZE, false, kSPIFI_DataOutput, 0, kSPIFI_CommandOpcodeSerial, kSPIFI_CommandOpcodeAddrThreeBytes, 0x38},
{4, false, kSPIFI_DataInput, 0, kSPIFI_CommandAllSerial, kSPIFI_CommandOpcodeOnly, 0x05},
{0, false, kSPIFI_DataOutput, 0, kSPIFI_CommandAllSerial, kSPIFI_CommandOpcodeAddrThreeBytes, 0x20},
{0, false, kSPIFI_DataOutput, 0, kSPIFI_CommandAllSerial, kSPIFI_CommandOpcodeOnly, 0x06},
{4, false, kSPIFI_DataOutput, 0, kSPIFI_CommandAllSerial, kSPIFI_CommandOpcodeOnly, 0x01},
{PAGE_SIZE, false, kSPIFI_DataInput, 1, kSPIFI_CommandAllSerial, kSPIFI_CommandOpcodeAddrThreeBytes, 0x03}};
/* Enable Quad mode */
enable_quad_mode();
/* Setup memory command */
//SPIFI_SetMemoryCommand(EXAMPLE_SPIFI, &command[READ]);
SPIFI_SetMemoryCommand(EXAMPLE_SPIFI, &command[6]);
测试下来,还是能够读的:
|
|