OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 74|回复: 2

TFTLCD的例程移植后显示正常但触摸无反应是怎么回事?

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2022-9-13
在线时间
0 小时
发表于 2024-4-28 10:37:49 | 显示全部楼层 |阅读模式
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的连接方式没有变化,所以应该是不需要修改这部分的。是不是还有哪里需要改的但是我没有改?

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2022-9-13
在线时间
0 小时
 楼主| 发表于 2024-4-28 10:45:09 | 显示全部楼层
主要是显示正常但就是触摸没有反应,是与PEN引脚有关吗?
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2022-9-13
在线时间
0 小时
 楼主| 发表于 2024-4-28 20:24:22 | 显示全部楼层
破案了,移植的板子的PEN---PB1接口接了一个上拉电阻,把上拉电阻拿掉就正常了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-15 08:54

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表