Arduino上的LDC显示程序移植到STM32Cube IDE上
我的板子驱动一个LCD(通过4线SPI接口的ST7565R控制器),并通过Modbus作为主机于从机进行通信。原先是在Arduino上运行的,但现在我想代码移植到STM32Cube IDE中,其他功能已经实现,但LCD一直不成功。我的问题是,如何将Arduino上使用的库文件(有些库是封装的,并不是h文件或c文件)移植过来?这个移植起来确实挺费劲的,我之前也遇到类似情况,最后还是自己重写了SPI驱动,效果还不错。 STM32的SPI时序和Arduino可能有些区别,特别是时钟极性和相位,检查一下是不是这个问题。 将Arduino上的LCD驱动代码(尤其是针对ST7565R控制器的SPI接口)移植到STM32CubeIDE(基于STM32F1)需要解决几个关键问题:库的兼容性、SPI配置、GPIO控制和时序调整
如果屏幕显示异常(如乱码),降低SPI时钟频率(通过CubeMX调整Prescaler)
ST7565R可能需要命令间延时(如HAL_Delay(1)),需参考数据手册
确保DC引脚在发送数据(DC=1)和命令(DC=0)时正确切换
检查SPI信号(时钟、数据线)是否符合ST7565R时序
先尝试点亮屏幕背光,再逐步发送初始化命令
如果原库不可移植,可参考开源的STM32驱动(如ST7565R驱动示例)
移植的话,一般可以用github上有开源的关于arduino的F1的例程
为啥用arduino呢?我觉得不如用HAL来搞
其实你就调用ST7565的驱动器库文件就行了
页:
[1]