• 大小: 4KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: 其他
  • 标签: IAR  MSP430F5438  

资源简介

基于I2C的GT911驱动代码,实测可以在STM32板上跑,只需要根据自己的平台进行IO脚修改就可以。

资源截图

代码片段和文件信息

/*******************************************************************************
* 文 件: GT911.c
* 功 能: 单片机作为主机,触控IC作为从机,通过模拟的I2C总线通信
* 说 明: 
*        P4.7---->CT_SCLK
*        P4.6---->CT_SDA
*        P4.5---->CT_RST
*        P2.1---->CT_INT
* 版 权: ******
* 编 写: PYH
* 日 期: 2017.02.22
**********************************头文件***************************************/
#include 
#include 
#include “gt911_driver.h“ 
#include “tft.h“
#include “touch.h“


//GT911配置信息,共184个寄存器value
const uchar GT911_CFG_TBL[]=
{  
    0X410XE00X010X200X030X010X040X000X020X08
0X280X0C0X500X320X030X050X000X000X000X00
0x000x000x000x170x190x1E0x140X8C0X2E0X0E
0x330x350x0C0x080X000X000X000x9A0x030x11
0X000X000X000X000X000X000X000X000X000X00
0X000X0F0X360X940XC50X020X070X000X000X04
0X9B0X110X000X7A0X160X000X610X1C0X000X4B
0X250X000X3C0X2F0X000X3C0X000X000X000X00
0X000X000X000X000X000X000X000X000X000X00
0X000X000X000X000X000X000X000X000X000X00
0X000X000X000X000X000X000X000X000X000X00
0X000X000X020X040X060X080X0A0X0C0X0E0X10
0X120X140X160X180X1A0X1C0XFF0X000X000X00
0X000X000X000X000X000X000X000X000X000X00
0X000X000X000X020X040X060X080X0A0X0C0X0F
0X100X120X130X140X160X180X1C0X1D0X1E0X1F
0X200X210X220X240X260X280X290X2A0XFF0X00
0X000X000X000X000X000X000X000X000X000X00
0X000X000X000X00
};     
/*******************************************************************************
* 函数名:GT911_Send_Cfg
* 功  能:发送GT911配置参数
* 参  数:mode:0参数不保存到flash:1保存到flash
* 返回值:写入结果:1--成功,0--失败
*******************************************************************************/
uchar GT911_Send_Cfg(uchar mode)
{
uchar buf[2];
uchar i=0;
buf[0]=0;
buf[1]=mode;                     //是否掉电保存
for(i=0;i    {
        buf[0]+=GT911_CFG_TBL[i];       //计算校验和
    }
    buf[0]=(~buf[0])+1;                 //要写入到0x80FF的校验值,buf[0]
GT911_WR_Reg(GT_CFGS_REG(uchar*)GT911_CFG_TBLsizeof(GT911_CFG_TBL));//发送寄存器配置(0x8040--0x80FE)
GT911_WR_Reg(GT_CHECK_REGbuf2);   //以0x80FF为开始地址,写入校验和buf[0]、配置更新标记buf[1]=0x01
return 0;
}

/*******************************************************************************
* 函数名:uchar Write_1Byte(uchar wdatauchar dataaddress)
* 功  能:写入1个字节的数据
* 参  数:data--写入的数据
*         addr--数据的写入地址
* 返回值:写入结果:1--成功,0--失败
*******************************************************************************/
uchar Write_1Byte(uchar addruchar data)
{  
    CT_I2C_Start();             //开始
    write1byte(GT_CMD_WR);      //写
    CT_I2C_Ack();               //应答
    write1byte(addr);           //寄存器地址
    CT_I2C_Ack();
    write1byte(data);
    CT_I2C_Ack();
    CT_I2C_Stop();
    return 0;
}

/*******************************************************************************
* 函数名:GT911_WR_Re

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      10205  2020-02-16 21:46  gt911驱动\gt911_driver.c

     文件       2437  2020-02-16 21:47  gt911驱动\gt911_driver.h

     目录          0  2020-02-16 21:47  gt911驱动

----------- ---------  ---------- -----  ----

                12642                    3


评论

共有 条评论