/* * Copyright (c) 2006-2021, RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * * Change Logs: * Date Author Notes * 2025-10-26 Administrator the first version */ #ifndef APPLICATIONS_SSD1963_H_ #define APPLICATIONS_SSD1963_H_ #include // ==================== FSMC 地址映射(必须放在头文件中供外部使用)==================== // 假设使用 FSMC Bank1, NE1, A16 作为 RS/DC 控制线 #define SSD1963_BASE_ADDR ((uint32_t)(0x60000000)) // FSMC_NE1 #define LCD_CMD_ADDR (LCD_BASE_ADDR + 0x00000000) // A0 = 0 #define LCD_DATA_ADDR (LCD_BASE_ADDR + 0x00020000) // A0 = 1 // 定义 FSMC 地址:假设使用 Bank1, Base Address 0x60000000,A0 对应地址位1 #define SSD1963_CMD_ADDR *(volatile uint16_t *)(0x60000000) #define SSD1963_DATA_ADDR *(volatile uint16_t *)(0x60020000) #define LCD_Write_Cmd(cmd) (*(__IO uint16_t*)LCD_CMD_ADDR = (cmd)) #define LCD_Write_Data(dat) (*(__IO uint16_t*)LCD_DATA_ADDR = (dat)) // 函数声明 void ssd1963_init(void); void ssd1963_set_window(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2); void ssd1963_clear(rt_uint16_t color); rt_uint16_t ssd1963_get_width(void); rt_uint16_t ssd1963_get_height(void); #endif /* APPLICATIONS_SSD1963_H_ */