Stm32_电容式触摸屏- GT9147获取ID
目录
*GT9147寄存器*
头文件:
读写时序图:
写寄存器
读寄存器
主函数
*GT9147寄存器*
头文件:
#ifndef __GT9147_H
#define __GT9147_H
#include "sys.h"//INT PB1
//RESET PC13
#define GT_INT PBout(1)
#define GT_RST PCout(13)//IIC读写命令
#define GT_CMD_WR 0x28 //写
#define GT_CMD_RD 0x29 //读//GT9147部分寄存器定义
#define GT_CTRL_REG 0x8040 //控制寄存器
#define GT_CFGS_REG 0x8047 //配置起始地址寄存器
#define GT_CHECK_REG 0x80FF //校验和寄存器
#define GT_PID_REG 0x8140 //产品ID寄存器//GT9147当前检测到的触摸情况
#define GT_GSTID_REG 0x814E
//触摸点数据地址
#define GT_TP1_REG 0x8150
#define GT_TP2_REG 0x8158
#define GT_TP3_REG 0x8160
#define GT_TP4_REG 0x8168
#define GT_TP5_REG 0x8170void GT9147_Reset();
void GT9147_Init(void);
u8 GT9147_Send_Cfg(u8 mode);
u8 GT9147_WR_Reg(u16 reg,u8 *buf,u8 len);
void GT9147_RD_Reg(u16 reg,u8 *buf,u8 len);
u8 GT9147_Scan(u8 mode);#endif
读写时序图:
写寄存器
读寄存器
写寄存器
u8 GT9147_WR_Reg(u16 reg,u8 *buf,u8 len)
{u8 i;u8 ret = 0;CT_IIC_Start();CT_IIC_Send_Byte(GT_CMD_WR);//发送写命令CT_IIC_Wait_Ack();CT_IIC_Send_Byte(reg>>8); //发送高8位地址CT_IIC_Wait_Ack();CT_IIC_Send_Byte(reg&0xFF); //发送低8位地址CT_IIC_Wait_Ack();for(i=0;i<len;i++){CT_IIC_Send_Byte(buf[i]);//发数据ret = CT_IIC_Wait_Ack();if(ret)break;}//CT_IIC_Stop();//产生一个停止条件return ret;}
读寄存器
void GT9147_RD_Reg(u16 reg,u8 *buf,u8 len)
{u8 i;CT_IIC_Start();CT_IIC_Send_Byte(GT_CMD_WR);CT_IIC_Wait_Ack();CT_IIC_Send_Byte(reg>>8); //发送高8位地址CT_IIC_Wait_Ack();CT_IIC_Send_Byte(reg&0xFF); //发送低8位地址CT_IIC_Wait_Ack();CT_IIC_Stop();CT_IIC_Start();CT_IIC_Send_Byte(GT_CMD_RD);CT_IIC_Wait_Ack();for(i=0;i<len;i++){ buf[i]=CT_IIC_Read_Byte(i==(len-1)?1:0); //发数据 //*buf++=CT_IIC_Read_Byte((i==len-1)?1:0);}
}
主函数
#include "stm32f4xx.h"
#include "usart.h"
#include "delay.h"
#include "CT_IIC.h"
#include "AT24XX.h"
#include "key.h"
#include "lcd.h"
#include "gt9147.h"int main(void)
{u8 ucID[4]; //存储GT9147IDu8 i;uart_init(115200);delay_init(84);CT_IIC_Init();LCD_Init();GT9147_Init();AT24CXX_Init();while(1){GT9147_RD_Reg(GT_PID_REG,ucID,4);for(i=0;i<4;i++)printf("%c",ucID[i]);printf("\r\n");}
}
*串口打印*
Stm32_电容式触摸屏- GT9147获取ID相关推荐
- 电容触摸屏测试软件,一种电容式触摸屏的测试方法、系统及电子设备专利_专利查询 - 天眼查...
1. 一种电容式触摸屏的测试方法,其特征在于,所述方法包括以下步骤:获取电容式触摸屏上各节点电容分别对应的采样信号:将所述采样信号转换成可处理的触摸数据后,根据预存的标准值对所述触摸数据进行分析,输出 ...
- canvas动画 电子白板_广东智慧电容式触摸屏维修,学校电子白板操作
山东金贝斯特科教设备有限公司为您详细解读VLWPin广东智慧电容式触摸屏维修的相关知识与详情,如今,正在教育事业越来越被重视的情况下,教学触控一体机多样化的教育内容展现办法,让教育更轻松有兴趣,从此辞 ...
- jquery 获取 id ,但是id 里面不能有. 这个符号
因为要上传嵌套的变量 例如 rose.roseId,结果jquery 不能读取这个id -> .jquery 获取 id ,但是id 里面不能有. 这个符号 ,都是坑啊,
- 电容屏物体识别_相比传统的触摸屏,电容式触摸屏的优势
点击蓝字,轻松关注 今日话题 如今,我们的身边有着许多电子产品,主要是因为它便于我们的生活,所以我们的身边出现了许多触摸屏. 对于电子产品,我们使用之前要了解清楚它的使用性能,掌握多点信息,这样在使用 ...
- Android 平台电容式触摸屏的驱动基本原理
Android 平台电容式触摸屏的驱动基本原理 Android 平台电容式触摸屏硬件基本原理 Linux 与 Android 的多点触摸协议 Linux输入子系统:事件的编码 转载于:https:// ...
- 苹果或在2021年新iPhone上增加屏下Touch ID
1月16日消息,据外媒消息,苹果可能在2021年新iPhone上增加屏下Touch ID.今年新iPhone的变化不会太大,有可能是iPhone 12的"S"升级版. 消息人士还透 ...
- 爆料者称苹果仍在继续研发iPhone屏下Touch ID
据国外媒体报道,据一名知名苹果爆料人士透露,苹果正在继续研发可嵌入屏幕下方的指纹技术,并且在未来可能会发布一款带有屏下Touch ID(指纹识别)传感器的iPhone. 这条推文很简单,只有一句话: ...
- 猿创征文|pycharm中的翻译插件translation以及将其更换为百度翻译获取ID和密钥的详细步骤
我们在用python时有时候遇到一些英语单词,一时忘记了或者从来没见过,这个时候我们就需要百度或者其他途径去查单词的意思,很麻烦,那么能不能像专门的英语软件一样用鼠标一点就可以知道它 ...
- 中国电容式触摸屏市场产销调研与投资前景预测报告2022年版
中国电容式触摸屏市场产销调研与投资前景预测报告2022年版 ﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌﹌ [报告编号]: 414852 [出版时间]: 2022年3月 [出版机构]: 中商经济研究网 ...
最新文章
- [编程题]字符串最后一个单词的长度
- spring 初始化数据库
- Ubuntu 14.04安装JDK1.8.0_25与配置环境变量
- php接口调用实例源代码,小蚂蚁学习APP接口开发(7)—— APP接口实例——读取缓存方式开发APP接口的代码案例...
- poj 3281(最大流)
- Linux命令:ps,netstat,top
- Python 文件学习笔记之 File(文件) 对象常用函数
- 细分将成为2011手机市场的主旋律
- ApacheCN PHP 译文集 20211101 更新
- python在文件中写入字典_python初学--文件操作、字典
- PWM级联方案。UART接口的单总线控制多个PWM输出。数字舵机,舵机级联方案
- 关于Mysql服务自动关闭以及无法启动问题的解决办法
- 欢迎进入测试day01作业
- 【Go学习】GO语言异常处理机制panic和recover分析
- 汇编语言C大调电子琴程序,用51单片机 汇编语言 做简单的电子琴
- IIS6,IIS7,IIS8的脚本自动安装
- [Elasticsearch] 多字段搜索 (五) - 以字段为中心的查询
- codeup21158 循环比赛日程表
- 基于js的火星坐标、百度坐标、WGS84坐标转换
- 分布式:分布式系统设计实践。