设备: 正点原子 探索者STM32F407ZET6
屏幕 芯片id 0X5510 4.3寸电容屏
错误 总是读到ID 为a1a1 a3a3 不正确的ID 因为FMC的 A地址不正确
地址为:
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A6作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111 1110=0X7E
#define LCD_BASE ((u32)(0x6C000000 | 0x0000007E))
#define LCD ((LCD_TypeDef *) LCD_BASE)
原理图:
一、配置cubmex
二、代码移植
根据自己的A6命令数据控制线选择
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其!
//#define LCD_BASE ((uint32_t)(0x6C000000 | 0x000007FE))
//#define LCD ((LCD_TypeDef *) LCD_BASE)
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A6作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111 1110=0X7E
#define LCD_BASE ((u32)(0x6C000000 | 0x0000007E))
#define LCD ((LCD_TypeDef *) LCD_BASE)
修改mian.c
/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */
#include "lcd_header.h"
/* USER CODE END Includes */
/* USER CODE BEGIN 2 */
HAL_Delay(1000);
LCD_Init(&HAL_Delay);
/* USER CODE END 2 */
/* USER CODE BEGIN WHILE */
while (1)
{
LCD_Clear(RED);
HAL_Delay(1000);
LCD_Clear(BLUE);
HAL_Delay(1000);
LCD_Clear(GREEN);
HAL_Delay(1000);
/* USER CODE END WHILE */
库文件及源文件下载
(21条消息) STM32cubmexfsmclcdHAL库资源-CSDN文库
移植及参考: