STM32H750B-DK开发板,使用 STM32CubeIDE Version: 1.7.0 + STM32Cube_FW_H7_V1.9.1 在 应用 STM32Cube_FW_H7_V1.9.1\Projects\STM32H750B-DK\Applications\Display\LTDC_Paint STM32Cube_FW_H7_V1.9.1\Projects\STM32H750B-DK\Demonstrations\TouchGFX\SW4STM32 STM32Cube_FW_H7_V1.9.1\Projects\STM32H750B-DK\Demonstrations\MenuLauncher\SW4STM32 这几个demo的时候,始终是显示白屏。 使用 STM32H750B-DK\Applications\FreeRTOS\FreeRTOS_ThreadCreation\SW4STM32\XIP_QSPI_InternalSRAM,可以看见LED闪烁。 板子下载 https://www.st.com/resource/en/c ... 32h750b-dk_demo.zip 可以正常显示。 请问是什么原因。 其他版本的组合(CubeIDE+BSP)也试过,现象相同。 |
如需获得 STM32H750B 等器件的更多信息,请点击链接或 点击此处 联系在线客服!
16:45:43 : ST-LINK SN : 003D00203137510E33333639 16:45:43 : ST-LINK FW : V3J10M3 16:45:43 : Board : STM32H750B-DK 16:45:43 : Voltage : 3.27V 16:45:43 : SWD freq : 24000 KHz 16:45:43 : Connect mode: Normal 16:45:43 : Reset mode : Software reset 16:45:43 : Device ID : 0x450 16:45:43 : Revision ID : Rev V
从你描述来看,硬件上应该没啥问题。你提到的几个DEMO烧录后白屏,估计你只烧录了部分运行或放在外部存储器的代码,你需先烧录一部分启动代码, 你去H7系列Cube库的STM32H750-DKD的Templates目录下有个ExtMem_Boot目录,你在那里打开相应IDE的工程兵结合你使用外部存储做适当配置,编译后烧录 到你的板子上,然后烧录要放在外部的代码,也就是你这里提到的几个DEMO代码。
项目中有些README里有一些说明。另外测试工程基本上都要用bootloader, 看看有没有烧进去。
static int32_t MT48LC4M32B2_Delay(uint32_t Delay)
{
uint32_t tickstart;
tickstart = HAL_GetTick();
// while((HAL_GetTick() - tickstart) < Delay)
{
}
return MT48LC4M32B2_OK;
}
复制代码static int32_t MT48LC4M32B2_Delay(uint32_t Delay)
{
uint32_t tickstart;
tickstart = HAL_GetTick();
// while((HAL_GetTick() - tickstart) < Delay)
{
}
return MT48LC4M32B2_OK;
}
复制代码 HAL_GetTick() 返回的值是不对的,所以循环始终无法跳出。 会是什么原因。__weak void HAL_Delay(uint32_t Delay) { uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait += (uint32_t)(uwTickFreq); } // while ((HAL_GetTick() - tickstart) < wait) { } } static int32_t MT48LC4M32B2_Delay(uint32_t Delay) { uint32_t tickstart; tickstart = HAL_GetTick(); // while((HAL_GetTick() - tickstart) < Delay) { } return MT48LC4M32B2_OK; }