|
QSPI仅接收数据异常 芯片信号:STM32H743II 测试Demo如下: void QSpiDemo(void){ uint8_t aucBuf[2]; MX_QUADSPI_Init(); /* QSPI初始化 */ aucBuf[0] = 4 << 1; aucBuf[1] = 0; QSPI_WriteRegEx(aucBuf, 2); /* 发送2字节数据 */ QSPI_ReadRegEx(aucBuf, 2); /* 接收2字节数据 */ } uint8_t QSPI_WriteRegEx(uint8_t *_pBuf, uint16_t _usWriteSize) { QSPI_CommandTypeDef sCommand = {0}; /* 基本配置 */ sCommand.DummyCycles = 0; /* 不需要空周期 */ sCommand.InstructionMode = QSPI_INSTRUCTION_NONE; /* No instruction */ sCommand.AddressMode = QSPI_ADDRESS_NONE; /* No address ;QSPI_ADDRESS_1_LINE */ sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; /* 无交替字节 */ sCommand.DataMode = QSPI_DATA_1_LINE; /* 1线数据方式 */ sCommand.NbData = _usWriteSize; /* 写数据大小 */ sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; /* 不支持DDR */ sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; /* DDR模式,数据输出延迟 */ sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; /* 仅发送一次命令 */ if(HAL_QSPI_Command(&hqspi, &sCommand, 5000) != HAL_OK) { return 0; } if(HAL_QSPI_Transmit(&hqspi, _pBuf, 5000) != HAL_OK) { return 0; } return 1; } uint8_t QSPI_ReadRegEx(uint8_t *_pBuf, uint16_t _usReadSize) { QSPI_CommandTypeDef sCommand = {0}; sCommand.DummyCycles = 0; /* 不需要空周期 */ sCommand.InstructionMode = QSPI_INSTRUCTION_NONE; /* No instruction */ sCommand.AddressMode = QSPI_ADDRESS_NONE; /* No address ;QSPI_ADDRESS_1_LINE */ sCommand.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; /* 无交替字节 */ sCommand.DataMode = QSPI_DATA_1_LINE; /* 1线数据方式 */ sCommand.NbData = _usReadSize; /* 写数据大小 */ sCommand.DdrMode = QSPI_DDR_MODE_DISABLE; /* 不支持DDR */ sCommand.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; /* DDR模式,数据输出延迟 */ sCommand.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; /* 仅发送一次命令 */ if(HAL_QSPI_Command(&hqspi, &sCommand, 5000) != HAL_OK) { return 0; } if(HAL_QSPI_Receive(&hqspi, _pBuf, 5000) != HAL_OK) { return 0; } return 1; } 读取数据时,每次执行到HAL_QSPI_Receive函数MODIFY_REG(hqspi->Instance->CCR, QUADSPI_CCR_FMODE, QSPI_FUNCTIONAL_MODE_INDIRECT_READ)时,相关寄存器就会异常  如果将接收DummyCycles配置成2时,则可以正常接收数据,但是时序会异常导致接收数据不正确。  |
运行异常截图
修改点截图
【2026.10.18】每日签到:STM32H735G-DK评测.接收串口字符并显示在LCD—text中
【2026.10.17】每日签到:STM32H735G-DK评测.TouchGFX在LCD—text中显示动态字符
STM32F103RET6使用cubeMX生成FarFs挂载SD卡,并开启DMA
使用STM32H743IIT6,读写MCU内部Flash固定地址与固定长度的区域,出现随机性HardFault错误,请问是什么原因?
W25Q512 NOR Flash 扇区擦除失效
STM32H7A3VGH6Q D1、d2、E1、E2是SMPS功能对应的引脚,裸片量测D2与C1、D1对应的地没有短路现象,PCB板量测也没有短路,但芯片贴到板上D2 VLXSMPS就会与地短路。不知是啥原因。是否芯片型号与批次不对?
mmt 工具如何管理NAND和LCDinterface 设备
调试器如何通过AP0~AP3访问H757?
STM32H7的LSE起振问题
使用STM32H7A3的FMC接口驱动LCD 是否可以用DMA传输数据
微信公众号
手机版
Repository\STM32Cube_FW_H7_V1.11.0\Projects\STM32H743I-EVAL\Examples\QSPI