首先说下我这TFT的坎坷经历,X宝上买的,arduino接口,8位数据总线,至今不知道究竟用的什么驱动芯片!扔那两三个月了,搞了不知道多少次,arduino上用的挺好,就是无法在nucleo用,今天一狠心,不用X宝提供的例程了,按照arduino一行一行比着写初始化,现在终于点亮了!虽然只是简单的刷屏,切换红绿蓝,还是很激动!好了,废话不多说了,下面说过程!
先来个照:
设计的是比较方便,插上直接就能用了,而且引出了板子上的RST键。
首先创建cubemx工程,打开RCC HSE,因为我使用的是外接8MHZ晶振,使用HSI的可以跳过这些相关操作。
然后,对照TFT的管脚,配置GPIO,8个数据IO,5个控制IO(因为没有使用触摸功能,所以控制只需要5个IO),一个13个IO全部配置为推挽输出,这里一定一定要仔细!对照F446包装背面的管脚分布图,一个一个核对,如下:
上面为了方便调试,不妨把串口2也打开,参数设置使用默认设置即可。
接下来,配置时钟,HSE 180MHZ,使用HSI的可以跳过
然后生成代码,打开project,如图所示位置:main.c的128行:FLASH_LATENCY_2改为FLASH_LATENCY_5;(这里要非常感谢坛友 @,这都能发现!),使用HSI的可以忽略这里!
然后就是到gpio.c里面,加上三行,即将那13个IO默认都设置为高电平输出:
好了,到这里基本操作已经完成,下面就是初始化和刷屏的几个函数,太长了不贴上来了,需要的下载project,在lcd.c里面。
写的很简单,高手勿喷,多多指教!
|