IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> MCUXpresso开发NXP RT1060(2)——IIC接口&触摸屏芯片GT911 -> 正文阅读

[嵌入式]MCUXpresso开发NXP RT1060(2)——IIC接口&触摸屏芯片GT911

目录

开发环境

配置过程

一、配置LPI2C?

二、配置相关IO

程序设计

问题&总结

参考


开发环境

1.TencentOS物联网开发套件,MCU为RT1060

2.IDE:MCUXpresso v11.5

3.IIC设备为微雪4.3寸IPS屏幕上的触摸芯片,汇顶的GT911

配置过程

一、配置LPI2C?

二、配置相关IO

如果不设置好IO的状态,SCL和SDA要设置成那么RT1060无法与设备进行IIC通信。

?通过手册,我们可知J11和K11可作为IIC通信的SCL和SDA信号引脚,需要将他们配置成开漏模式。

?因为在本例中,IO要设置成开漏输出模式,带有100K的下拉电阻。注意要使能pull模式。

按照如上步骤设置后,单片机与触摸芯片就可以进行IIC通信了。但是在驱动触摸屏时,还需要一个IO作为GT911的中断,以及一个IO作为GT11的RST。GT911的具体用法可见参考文档。

IO中断配置方法(以gpio5_pin1为例下降沿触发)

/* GPIO configuration of PMIC_ON_REQ on PMIC_ON_REQ (pin K7) */
	gpio_pin_config_t PMIC_ON_REQ_config = { .direction = kGPIO_DigitalInput,
			.outputLogic = 0U, .interruptMode = kGPIO_IntFallingEdge };

	/* Initialize GPIO functionality on PMIC_ON_REQ (pin K7) */
	GPIO_PinInit(GPIO5, 1U, &PMIC_ON_REQ_config);
	/* Enable GPIO pin interrupt on PMIC_ON_REQ (pin K7) */
	GPIO_PortEnableInterrupts(GPIO5, 1U << 1U);
	EnableIRQ(GPIO5_Combined_0_15_IRQn);

程序设计

配置好外设后,使用NXP的官方库函数开发IIC程序,可参考官方SDK中的IIC示例。下面这个例子是读取GT911的触摸点数量的寄存器,具体参考GT911的手册。

//写寄存器操作,其中0X5D为GT911的IIC地址,points_addr是要写的寄存器地址。
LPI2C_MasterStart(LPI2C1_PERIPHERAL, 0x5DU, kLPI2C_Write);

LPI2C_MasterSend(LPI2C1_PERIPHERAL, &points_addr, 2);

LPI2C_MasterStop(LPI2C1_PERIPHERAL);
//读取寄存器操作,将读到的数据存到g_master_rxBuff中。读取后将寄存器中的标志位清零,代表单片机已读取触摸点坐标,具体参考GT911手册。
            LPI2C_MasterStart(LPI2C1_PERIPHERAL, 0x5DU, kLPI2C_Read);
			if (kStatus_Success
					!= LPI2C_MasterReceive(LPI2C1_PERIPHERAL, g_master_rxBuff,
							1)) {
				PRINTF("ERROR\n");
			} else {
				PRINTF("%X \n", g_master_rxBuff[0] & 0x0f);
			}
			LPI2C_MasterStop(LPI2C1_PERIPHERAL);

			delay_ms(1);
			if (g_master_rxBuff[0] & 0x80) {
				LPI2C_MasterStart(LPI2C1_PERIPHERAL, 0x5DU, kLPI2C_Write);

				LPI2C_MasterSend(LPI2C1_PERIPHERAL, &points_addr, 3);

				LPI2C_MasterStop(LPI2C1_PERIPHERAL);

			}

上一步骤中 INT 输出上升沿后,若主控未在一个周期内读走坐标,下次 GT911?即使检测
到坐标更新会再输出一个 INT 脉冲但不更新坐标;

问题&总结

遇到了IO中断无法工作的情况,原来是Handler函数名字错了,程序跑飞。

要把INT引脚的iomux改成浮空输入才行,不能光设置中断。

之前更倾向于使用IO来软件模拟IIC,使用IIC外设更方便,并且节省程序资源,减少软件出错的可能性。

参考

4.3inch Capacitive Touch LCD - Waveshare Wikihttps://www.waveshare.net/wiki/4.3inch_Capacitive_Touch_LCD电容触摸屏GT911、GT928、GT9147的使用_【ql君】qlexcel的博客-CSDN博客_gt911触摸屏驱动详解一、介绍与硬件连接 GT911、GT928、GT9147都属于GT9系列非单层多点触控芯片,他们支持的触控点数不同(GT928支持10个点、GT911支持5个点)、驱动和感应通道也可能不同。可是他们的寄存器和IIC通讯时序是相同的,也就是说驱动程序是兼容的。 与主机的接口共有6PIN,分别为:VDD、GND、SCL、SDA、INT、RESET。INT、RESET...https://blog.csdn.net/qlexcel/article/details/99696108Linux下编写GT911触摸驱动_kuniqiw的博客-CSDN博客_gt911触摸屏驱动详解问题一:资源获取Gt911数据手册在韦老师给的资料里,路径为\06_Datasheet\Extend_modules\7寸LCD模块\电容触控芯片GT911 Datasheet_121120(海威思.pdf问题二:需要准备哪些知识1.能够修改设备树2.能够编写字符设备驱动3.能够在linux下编写中断程序4.能够在linux下编写IIC收发程序5.了解input子系统6.移植tslib(用于校准,测试触摸屏)gt911硬件连接(韦老师的板子):可以看到gt911只https://blog.csdn.net/kuniqiw/article/details/112390863

https://www.nxp.com/docs/en/application-note/AN5078.pdfhttps://www.nxp.com/docs/en/application-note/AN5078.pdf

Embedfire-rt1052: 野火imx-rt1052开发板项目组https://gitee.com/Embedfire-rt1052

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-05-15 11:40:37  更:2022-05-15 11:40:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:46:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码