铁头电子player 发表于 2025-3-10 20:53

Arduino上的LDC显示程序移植到STM32Cube IDE上

我的板子驱动一个LCD(通过4线SPI接口的ST7565R控制器),并通过Modbus作为主机于从机进行通信。原先是在Arduino上运行的,但现在我想代码移植到STM32Cube IDE中,其他功能已经实现,但LCD一直不成功。我的问题是,如何将Arduino上使用的库文件(有些库是封装的,并不是h文件或c文件)移植过来?

公羊子丹 发表于 2025-3-11 08:08

这个移植起来确实挺费劲的,我之前也遇到类似情况,最后还是自己重写了SPI驱动,效果还不错。

周半梅 发表于 2025-3-11 08:10

STM32的SPI时序和Arduino可能有些区别,特别是时钟极性和相位,检查一下是不是这个问题。

一秒落纱 发表于 2025-4-14 01:09

将Arduino上的LCD驱动代码(尤其是针对ST7565R控制器的SPI接口)移植到STM32CubeIDE(基于STM32F1)需要解决几个关键问题:库的兼容性、SPI配置、GPIO控制和时序调整

远山寻你 发表于 2025-4-14 02:35

如果屏幕显示异常(如乱码),降低SPI时钟频率(通过CubeMX调整Prescaler)

夜阑风雨 发表于 2025-4-14 03:15

ST7565R可能需要命令间延时(如HAL_Delay(1)),需参考数据手册

光辉梦境 发表于 2025-4-14 04:32

确保DC引脚在发送数据(DC=1)和命令(DC=0)时正确切换

江河千里 发表于 2025-4-14 05:35

检查SPI信号(时钟、数据线)是否符合ST7565R时序

别乱了阵脚 发表于 2025-4-14 06:37

先尝试点亮屏幕背光,再逐步发送初始化命令

暖了夏天蓝了海 发表于 2025-4-14 07:14

如果原库不可移植,可参考开源的STM32驱动(如ST7565R驱动示例)

冰春彩落下 发表于 2025-4-14 08:18

移植的话,一般可以用github上有开源的关于arduino的F1的例程

淡漠安然 发表于 2025-4-14 09:09

为啥用arduino呢?我觉得不如用HAL来搞

三生万物 发表于 2025-4-14 10:35

其实你就调用ST7565的驱动器库文件就行了
页: [1]
查看完整版本: Arduino上的LDC显示程序移植到STM32Cube IDE上