
我想用QSPI FLASH 作OTA,选用的是W25Q64,现在对QSPI的读写都正常,但是把QSPI 映射成内存模式,一对 0x9000000UL 进行读,就进入HardFault_Handler, 下面是我配置映射的代码,哪位大侠能帮看看有什么问题没有我芯片是用的STM32H750VB 用的STM32CUBE static unsigned int QSPI_EnableMemoryMappedMode(QSPI_HandleTypeDef *QSPIHandle) { QSPI_CommandTypeDef s_command; QSPI_MemoryMappedTypeDef s_mem_mapped_cfg; // Configure the command for the read instruction s_command.InstructionMode = QSPI_INSTRUCTION_1_LINE; s_command.Instruction = QUAD_INOUT_FAST_READ_CMD; s_command.Address = 0; s_command.AddressMode = QSPI_ADDRESS_4_LINES; s_command.AddressSize = QSPI_ADDRESS_24_BITS; s_command.AlternateBytes = 0x00; s_command.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; s_command.AlternateBytesSize = QSPI_ALTERNATE_BYTES_8_BITS; s_command.DataMode = QSPI_DATA_4_LINES; s_command.NbData = 1; //??????? s_command.DummyCycles = 6; s_command.DdrMode = QSPI_DDR_MODE_DISABLE; s_command.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; s_command.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; // Configure the memory mapped mode s_mem_mapped_cfg.TimeOutActivation = QSPI_TIMEOUT_COUNTER_DISABLE; s_mem_mapped_cfg.TimeOutPeriod = 0; return HAL_QSPI_MemoryMapped(QSPIHandle, &s_command, &s_mem_mapped_cfg); } */ static unsigned int QSPI_EnableMemoryMappedMode(QSPI_HandleTypeDef *QSPIHandle) { QSPI_CommandTypeDef s_command; QSPI_MemoryMappedTypeDef s_mem_mapped_cfg; // Configure the command for the read instruction s_command.InstructionMode = QSPI_INSTRUCTION_4_LINES; s_command.Instruction = QUAD_INOUT_FAST_READ_CMD; s_command.Address = 0; s_command.AddressMode = QSPI_ADDRESS_4_LINES; s_command.AddressSize = QSPI_ADDRESS_32_BITS; // 24 32 都试过 s_command.AlternateBytes = 0x00; s_command.AlternateByteMode = QSPI_ALTERNATE_BYTES_NONE; s_command.AlternateBytesSize = QSPI_ALTERNATE_BYTES_8_BITS; s_command.DataMode = QSPI_DATA_4_LINES; s_command.NbData = 1; //??????? s_command.DummyCycles = 6; s_command.DdrMode = QSPI_DDR_MODE_DISABLE; s_command.DdrHoldHalfCycle = QSPI_DDR_HHC_ANALOG_DELAY; s_command.SIOOMode = QSPI_SIOO_INST_EVERY_CMD; // Configure the memory mapped mode s_mem_mapped_cfg.TimeOutActivation = QSPI_TIMEOUT_COUNTER_DISABLE; s_mem_mapped_cfg.TimeOutPeriod = 0; return HAL_QSPI_MemoryMapped(QSPIHandle, &s_command, &s_mem_mapped_cfg); } |
STM32H750使用FMC
cubemx导入模型后找不到keil找不到工程内的模型的相关文件
我想实现三对移相PWM(占空比为50%)输出,前两对是互补输出,用了TIM1的CH1/CH1N和CH2/CH2N。第三对用了TIM1的CH3和TIM8的CH2,类似于互补输出。需要以TIM1的CH1/CH1N为参考,其余两对怎样实现占空比不变,相移可调呢?另外TIM8的CH1和CH3的PWM需要输出高电平
STM32H723 TIM1输出三相50%的占空比,TIM_CH3的输出上升沿略比TIM_CH1和TIM_CH2超前,这是哪里配置有问题吗
stm32h7 用pb3、pb4、pb5、pa15做spi3后,mx组态时debug里选择serial wire,程序里加了禁用jtag,spi3口不能工作
MCSDK不能启动电机?
STM32H745启动与烧录问题
stm32H7 LTDC控制器 CLUT模式寄存器配置
STM32H750B-DK 板载STLINK 无程序
STM32CUBEMX最新版本6.14.1出现BUG
麻烦给个连接,我学习一下啊
链接在这里,查看
[md]连接打不开啊
感觉发生了非法访问导致硬错。
好好检查下配置,尤其注意地址方面被给错或越界了。