发布网友 发布时间:2022-04-25 10:46
共5个回答
热心网友 时间:2024-10-05 16:00
这是采用FSMC方式把TFT当做一个内存块来读写数据。第一张图错了吧,没理解设计着意图。TFT采用FSMC一般来说有21根线:1)数据线D0-D15;2)TFT片选CS;3)TFT复位RST;4)FSMC_NOE为读信号;5)FSMC_NWE为写信号;6)FSMC的A0~A18为地址线,取其中一个作为TFT的数据/命令控制线RS,比如选A16:FSMC[24:0]对应HADDR[25:1],基地址 = 0X60000000,RAM基地址 = 0X60020000 = 0X60000000+2^16*2 = 0X60000000 + 0X20000 = 0X60020000,加入宏定义#define Bank1_LCD_D ((u32)0x60020000)即对地址A16写1为数据格式,再定义#define Bank1_LCD_C ((u32)0x60000000)即地址写0为命令格式。建议看看FSMC总线~~热心网友 时间:2024-10-05 16:05
他不是有接线头吗热心网友 时间:2024-10-05 16:05
SPI几个脚对应 TP几个脚电源地接好,FLASH CS 接高电平一直选择改LCD模块因为只用这一块LCD,要是需要两个LCD显示需要STM32另外提供引脚,需要ucos ii多任务显示比较好,然后你说a17、a18、a19是FSMC引脚吧!热心网友 时间:2024-10-05 15:58
不知道╮(╯_╰)╭热心网友 时间:2024-10-05 16:00
不懂热心网友 时间:2024-10-05 16:06
这是采用FSMC方式把TFT当做一个内存块来读写数据。第一张图错了吧,没理解设计着意图。TFT采用FSMC一般来说有21根线:1)数据线D0-D15;2)TFT片选CS;3)TFT复位RST;4)FSMC_NOE为读信号;5)FSMC_NWE为写信号;6)FSMC的A0~A18为地址线,取其中一个作为TFT的数据/命令控制线RS,比如选A16:FSMC[24:0]对应HADDR[25:1],基地址 = 0X60000000,RAM基地址 = 0X60020000 = 0X60000000+2^16*2 = 0X60000000 + 0X20000 = 0X60020000,加入宏定义#define Bank1_LCD_D ((u32)0x60020000)即对地址A16写1为数据格式,再定义#define Bank1_LCD_C ((u32)0x60000000)即地址写0为命令格式。建议看看FSMC总线~~热心网友 时间:2024-10-05 16:03
不知道╮(╯_╰)╭热心网友 时间:2024-10-05 16:00
他不是有接线头吗热心网友 时间:2024-10-05 15:58
不懂热心网友 时间:2024-10-05 16:05
SPI几个脚对应 TP几个脚电源地接好,FLASH CS 接高电平一直选择改LCD模块因为只用这一块LCD,要是需要两个LCD显示需要STM32另外提供引脚,需要ucos ii多任务显示比较好,然后你说a17、a18、a19是FSMC引脚吧!