新手入门
- 积分
- 5
- 金钱
- 5
- 注册时间
- 2022-9-13
- 在线时间
- 0 小时
|
2金钱
单片机是STM32F407,使用的屏幕是ATK-MD0430 V2.0。
我是用探索者开发板的例程程序改的,例程是emwin实验的无操作系统移植。
改过的程序在探索者开发板上工作正常,移植到我自己的板子上(单片机相同,但与TFTLCD的引脚连接不同)工作就不正常了。
具体表现为显示内容正常,但对触摸无反应,串口是正常的。
是不是因为有引脚配置没有改导致的?
我修改的引脚配置部分分别如下:
-----------------------------------------------lcd.h里的这部分内容--------------------------------------------------
/* LCD RST/WR/RD/BL/CS/RS 引脚 定义
* LCD_D0~D15,由于引脚太多,就不在这里定义了,直接在lcd_init里面修改.所以在移植的时候,除了改
* 这6个IO口, 还得改LCD_Init里面的D0~D15所在的IO口.
*/
#define LCD_WR_GPIO_PORT GPIOD
#define LCD_WR_GPIO_PIN GPIO_PIN_5
#define LCD_WR_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOD_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define LCD_RD_GPIO_PORT GPIOD
#define LCD_RD_GPIO_PIN GPIO_PIN_4
#define LCD_RD_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOD_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define LCD_BL_GPIO_PORT GPIOF
#define LCD_BL_GPIO_PIN GPIO_PIN_11
#define LCD_BL_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* 背光所在IO口时钟使能 */
/* LCD_CS(需要根据LCD_FSMC_NEX设置正确的IO口) 和 LCD_RS(需要根据LCD_FSMC_AX设置正确的IO口) 引脚 定义 */
#define LCD_CS_GPIO_PORT GPIOG
#define LCD_CS_GPIO_PIN GPIO_PIN_12
#define LCD_CS_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOG_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define LCD_RS_GPIO_PORT GPIOF
#define LCD_RS_GPIO_PIN GPIO_PIN_0
#define LCD_RS_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOG_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
/* FSMC相关参数 定义
* 注意: 我们默认是通过FSMC块1来连接LCD, 块1有4个片选: FSMC_NE1~4
*
* 修改LCD_FSMC_NEX, 对应的LCD_CS_GPIO相关设置也得改
* 修改LCD_FSMC_AX , 对应的LCD_RS_GPIO相关设置也得改
*/
#define LCD_FSMC_NEX 4 /* 使用FSMC_NE4接LCD_CS,取值范围只能是: 1~4 */
#define LCD_FSMC_AX 0 /* 使用FSMC_A0接LCD_RS,取值范围是: 0 ~ 25 */
-----------------------------------------------touch.h里的这部分内容--------------------------------------------------
/* 电阻触摸屏驱动IC T_PEN/T_CS/T_MISO/T_MOSI/T_SCK 引脚 定义 */
#define T_PEN_GPIO_PORT GPIOB
#define T_PEN_GPIO_PIN GPIO_PIN_1
#define T_PEN_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define T_CS_GPIO_PORT GPIOF
#define T_CS_GPIO_PIN GPIO_PIN_3
#define T_CS_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define T_MISO_GPIO_PORT GPIOF
#define T_MISO_GPIO_PIN GPIO_PIN_9
#define T_MISO_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define T_MOSI_GPIO_PORT GPIOB
#define T_MOSI_GPIO_PIN GPIO_PIN_11
#define T_MOSI_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
#define T_CLK_GPIO_PORT GPIOF
#define T_CLK_GPIO_PIN GPIO_PIN_1
#define T_CLK_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* 所在IO口时钟使能 */
-----------------------------------------------gt9xxx.h里的这部分内容--------------------------------------------------
/* GT9XXX INT 和 RST 引脚 定义 */
#define GT9XXX_RST_GPIO_PORT GPIOF
#define GT9XXX_RST_GPIO_PIN GPIO_PIN_3
#define GT9XXX_RST_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* PC口时钟使能 */
#define GT9XXX_INT_GPIO_PORT GPIOB
#define GT9XXX_INT_GPIO_PIN GPIO_PIN_1
#define GT9XXX_INT_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* PB口时钟使能 */
-----------------------------------------------ctiic.h里的这部分内容--------------------------------------------------
/* CT_IIC 引脚 定义 */
#define CT_IIC_SCL_GPIO_PORT GPIOF
#define CT_IIC_SCL_GPIO_PIN GPIO_PIN_1
#define CT_IIC_SCL_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOF_CLK_ENABLE(); }while(0) /* PB口时钟使能 */
#define CT_IIC_SDA_GPIO_PORT GPIOB
#define CT_IIC_SDA_GPIO_PIN GPIO_PIN_11
#define CT_IIC_SDA_GPIO_CLK_ENABLE() do{ __HAL_RCC_GPIOB_CLK_ENABLE(); }while(0) /* PB口时钟使能 */
D0~D15的连接方式没有变化,所以应该是不需要修改这部分的。是不是还有哪里需要改的但是我没有改?
|
|