2019-12-30 19:23发布
wye11083 发表于 2017-3-12 12:40 你确定硬件是支持的?qspi还要先写status reg 2,再发一条进入指令才行,你看rs2是不是0,0的话芯片没配好 ...
最多设置5个标签!
你好,硬件确定支持的,
芯片使用的 W25Q256A 这个 qspi的芯片,而且管脚也是参照之前的那个板子分配的,
读写程序也是 之前的那套程序
QSPI_StaticTypeDef QSPI_Quad_Enter(void)
{
uint8_t _RegVal = 0;
__IO uint32_t cnt = 0;
QSPI_Read_SR(QSPI_READ_STATUS_REG2_CMD, &_RegVal); //先读出状态寄存器2的原始值
if((_RegVal & 0x02) == 0) //QE位未使能
{
if (QSPI_WriteEnable(&QSPIHandle) != QSPI_OK)
{
return QSPI_ERROR;
}
_RegVal |= 1 << 1; //使能QE位
QSPI_Write_SR(QSPI_WRITE_STATUS_REG2_CMD, _RegVal); //写状态寄存器2
}
_RegVal = 0; // 这个值无意义,只是配合下面的 发送 QSPI 指令 函数而已
if(QSPI_SendCmdData( QSPI_ENTER_QPI_MODE, // 进入QSPI模式
QSPI_INSTRUCTION_1_LINE,
QSPI_ADDRESS_NONE,
QSPI_ADDRESS_8_BITS,
QSPI_DATA_NONE,
0,
0,
0,
&_RegVal,
QSPI_SEND_CMD
) != QSPI_OK )
{
return QSPI_ERROR;
}
return QSPI_OK;
}
一周热门 更多>