很久之前搞了块OTM8009_800X480屏幕,同时还搞了块STM32F407VET6核心板,问题是这两个tft接口一个32针,一个34针,不能直接插,所以一直没搞。最近心血来潮,搞了下,好久没搞这方面东西,差点坑了自己。这方面其实驱动是有的,改改就可以了
先说参考,基于http://www.lcdwiki.com/zh/3.97inch_16BIT_Module_OTM8009A_SKU:MRB3971 这个的stm32改就可以,这个里面有个F407ZGT6的驱动,同时也参考了原来淘宝卖家提供的库,那个库基于f103的。
主要说说遇到的问题
1. 地址位问题,一开始直接拷贝过去,没注意用都FSMC_A6还是A18,二者不同,主要体现在下面
#define LCD_BASE ((u32)(0x60000000 | 0x00007FFFE))
#define LCD ((LCD_TypeDef *) LCD_BASE)
2. 一直遇到雪花屏问题,后来搜到有可能是背光上电太快,发现调代码的时候确实有个地方没注意,提前上了背光,改了就好
其他的问题还好,毕竟都是一个系列的。
代码见https://download.csdn.net/download/yongwn/20167042?spm=1001.2014.3001.5501