ST意法半导体
直播中

贾熹

8年用户 1687经验值
私信 关注
[问答]

STM32H747I-DISCO官方例程跑不通怎么解决?

开发板STM32H747I-DISCO
HAL库:STM32Cube_FW_H7_V1.7.0
显示屏:MB1166
将H747 DSI的官方例程下载到开发板中,运行结果异常。官方例程中的LCD_DSI/LCD_DSI_VideoMode_SingleBuffer、LCD_DSI_VideoMode_DoubleBuffer等程序,运行后显示屏的结果如下图:

LCD_DSI/LCD_DSI_CmdMode_SingleBuffer程序是OK 的。不知道是什么原因,请大佬们指教。




回帖(2)

李晶

2025-3-12 15:34:23
我看你的板子是H747的discovery板,例程就选择该开发板的,不要选择eval评估板的,毕竟硬件不完全一样。


另外,针对开发板的例程都是测试过了的。


注意这里使用SMPS供电配置,再就是代码下载完毕后做复位操作。
举报

张秀兰

2025-3-13 18:24:09

在STM32H747I-DISCO开发板上运行官方例程时遇到问题,尤其是LCD_DSI_VideoMode_SingleBuffer和LCD_DSI_VideoMode_DoubleBuffer例程运行异常,而LCD_DSI_CmdMode_SingleBuffer例程正常,可能是由于以下几个原因导致的。以下是一些排查和解决问题的步骤:




1. 检查硬件连接



  • 确保开发板与显示屏(MB1166)的连接正确无误,尤其是DSI接口的引脚连接。

  • 检查显示屏的电源是否正常供电。

  • 确保显示屏的背光控制信号(如果有)正确配置。




2. 检查显示屏初始化代码



  • 对比LCD_DSI_CmdMode_SingleBuffer和LCD_DSI_VideoMode_SingleBuffer的初始化代码,确认是否有差异。

  • 检查DSI接口的配置参数,包括时钟频率、时序参数、分辨率等是否正确。

  • 确保显示屏的初始化命令(通过DSI发送的命令)与显示屏的规格书一致。




3. 检查内存分配



  • 在Video Mode下,STM32H7需要使用帧缓冲区(Frame Buffer)来存储图像数据。确保帧缓冲区的内存分配正确。

  • 检查SDRAMLTDC的配置是否正确,尤其是在双缓冲模式下,两个缓冲区的地址是否合理分配。

  • 确保内存访问权限和Cache配置正确(例如,使用MPU配置内存区域为Non-CacheableWrite-Through)。




4. 检查时钟配置



  • 确保DSI接口的时钟配置正确,包括PLL和分频器设置。

  • 检查LTDC(如果使用)和DSI的时钟源是否一致,并且频率是否符合显示屏的要求。




5. 调试与日志



  • 使用调试器(如ST-Link)单步运行代码,检查关键函数(如HAL_DSI_InitHAL_LTDC_Init)的返回值,确认是否有错误。

  • 在代码中添加日志或调试信息,确认程序是否正常执行到关键点。

  • 使用示波器或逻辑分析仪检查DSI信号,确认时序是否正确。




6. 更新固件和库



  • 确保使用的STM32CubeH7库是最新版本(当前为V1.7.0,可以检查是否有更新版本)。

  • 如果可能,尝试使用其他版本的库,看看问题是否仍然存在。




7. 参考官方文档和社区



  • 查阅STM32H747I-DISCO的用户手册和参考手册,确认硬件和软件配置是否正确。

  • 在ST官方社区或论坛(如ST Community)搜索类似问题,看看是否有其他开发者遇到并解决了类似问题。




8. 联系ST支持



  • 如果以上方法都无法解决问题,可以联系ST的官方技术支持,提供详细的描述和调试信息,寻求帮助。




示例代码检查点


以下是一些关键代码片段的检查点:


// 检查DSI初始化
HAL_DSI_Init(&hdsi);

// 检查LTDC初始化(如果使用)
HAL_LTDC_Init(&hltdc);

// 检查帧缓冲区地址
hltdc.LayerCfg[0].FBStartAdress = (uint32_t)&frame_buffer;

// 检查DSI命令发送
HAL_DSI_ShortWrite(&hdsi, 0, DSI_DCS_SHORT_PKT_WRITE_P1, 0x11, 0x00);



通过以上步骤,应该能够定位并解决问题。如果问题仍然存在,建议提供更详细的错误描述或调试信息,以便进一步分析。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分