本帖最后由 weran 于 2025-2-26 17:35 编辑
在调试GT911的触摸屏遇到INT引脚在一直触摸状态下出现周期性拉高,读取GT911的0X804D寄存器发现INT引脚的触发方式为下降沿触发,下降沿触发中断INT会不断的拉低拉高形成脉冲信号;如果需要判断触摸状态下INT一直为低电平,可以重新配置GT911寄存器,在0X804D中将触发方式改为低电平触发。
写入配置信息并打印显示:
以下为更改GT911配置的方法:
1.先读取 0X804 寄存器获取GT911配置文件的版本号(新下发的配置版本号大于原版本或等于原版本号但配置内容有变化时保存)
- GT911_RdNByte(GT911_ConfigMsgReg,&sta,1);
- Print_Hex(sta);//打印
复制代码 2.读取GT911的寄存器配置信息(0X8047--0X8100)并创建配置文件
- unsigned char GT911_ConfigMSGTBL[186] =
- {
- 0X60,0X00,0X04,0X58,0X02,0X06,0X3E,0X00,0X01,0X0A,//1024x600 0x06:低电平触发
- 0X28,0X0F,0X50,0X32,0X03,0X05,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X15,0X17,0X19,0X14,0X88,0X29,0X0A,
- 0X3C,0X3E,0XD3,0X07,0X00,0X00,0X01,0X01,0X02,0X1D,
- 0X00,0X01,0X00,0X00,0X00,0X03,0X00,0X00,0X00,0X00,
- 0X00,0X32,0X7D,0X94,0XC5,0X02,0X07,0X00,0X00,0X04,
- 0X8A,0X37,0X00,0X75,0X42,0X00,0X63,0X4F,0X00,0X54,
- 0X5F,0X00,0X48,0X72,0X00,0X48,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X02,0X04,0X06,0X08,0X0A,0X0C,0X0E,0X10,
- 0X12,0X14,0XFF,0XFF,0XFF,0XFF,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X02,0X04,0X06,0X08,0X0F,0X10,0X12,
- 0X16,0X18,0X1C,0X1D,0X1E,0X1F,0X20,0X21,0X22,0XFF,
- 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
- 0X00,0X00,0X00,0X00,0X0B,0X00,
- };
复制代码 3.写入新的配置信息
- GT911_SendConfigMSG(0x01);
复制代码- /****************************************************
- * 函数名称 :
- * 功 能 :向GT911写入配置信息
- * 入口参数 :cmd,为1更新配置信息,为0不更新
- * 返回参数 :None
- * 注意事项 :
- *****************************************************/
- void GT911_SendConfigMSG(unsigned char cmd)
- {
- unsigned char i;
-
- GT911_ConfigMSGTBL[184] = 0;
- for(i = 0;i < 184;i++)
- {
- GT911_ConfigMSGTBL[184] += GT911_ConfigMSGTBL[i]; //计算校验和(0x8047到0x80FE之间字节和)
- }
- GT911_ConfigMSGTBL[184] = ~GT911_ConfigMSGTBL[184] + 1; //配置信息校验(0x8047到0x80FE之间字节和的补码)
- GT911_ConfigMSGTBL[185] = cmd; //配置已更新标记,写入0x01则保存更新配置
- GT911_WrNByte(GT911_ConfigMsgReg,GT911_ConfigMSGTBL,186); //写入配置信息(0x8047到0x8100)
- }
复制代码
测试工程和资料:
|