嵌入式开发--XW09A触摸芯片的使用

这篇具有很好参考价值的文章主要介绍了嵌入式开发--XW09A触摸芯片的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

XW09A触摸芯片

XW09A是厦门市芯网电子科技有限公司出品的一颗触摸芯片,支持9键多点触摸,I2C接口,带中断引脚。
以下摘抄自芯片手册
极高的灵敏度,可穿透13mm 的玻璃,感应到手指的触摸
超强的抗干扰和ESD 能力,不加任何器件即可通过人体8000v 实验
外围电路简单,最少只需一个4.7nf 电容,芯片即可正常工作
外围寄生电容自动校正
工作电压范围:2.5 ~ 5.5 V
SOP16 环保封装

电路图

嵌入式开发--XW09A触摸芯片的使用,stm32,嵌入式,触摸,单片机,XW09A
外围电路很简单,就是几个电容,连接到触摸键时需要通过1K电阻,SDA,SCL,INT需要上拉,电源输入最好经过RC滤波,实测无RC滤波也不影响。

通讯时序

嵌入式开发--XW09A触摸芯片的使用,stm32,嵌入式,触摸,单片机,XW09A
按上图写软件就可以,说明一下:
1 主机发送起始信号
2 主机发送7位地址和1位读,对于本芯片来说,就是发送0x81
3 等待芯片响应的ACK位
4 连续读取16位按键数据,其中起始3位是高电平,抛弃,然后连续读的9位是按键状态,最后4位抛弃
5 NACK信号
6 主机发送STOP
通信结束。

软件编写

因为其I2C的通讯协议与标准I2C通讯协议不兼容,故没有采用硬件I2C,而是用的软件I2C,当INT进中断后置标志位,在主程序中查询标志位,并调用以下这个函数即可。

u8 I2C_Read_XW09A(void)//i2c读XW09A,返回值是是当前的键值,从1开始计数,为0表示未按下
{
	u16 i,receive=0;
  u8 ret=0;
  
	I2C_SDA_OUT();//SDA设置为输出
  
  //主机发送开始信号
  I2C_Start();
  
  //发送8位地址
  I2C_Send_Byte(0x81);    //xw09a高7位表示地址,其值为0x4,左移1位为i2c地址,再加上最低位的1(表示读取),组合后地址为0x81
  
  //等待从机应答
  if(I2C_Wait_Ack() != 0)
    return 0;
  
  //接收16位数据
  I2C_SDA_IN();//SDA设置为输入
  for(i=0;i<16;i++ )
	{
    I2C_SCL(0); 
    delay_us(1);
		I2C_SCL(1);
    receive<<=1;
    if(I2C_SDA_READ())
      receive++;   
    else
      ret = i-2;
		delay_us(1); 
  }
  
  //主机发送无应答信号
  I2C_NAck();//发送nACK
  
  //主机发送停止信号
  I2C_Stop();

  //SDA设置为输入
	I2C_SDA_IN();//SDA设置为输入
    
  return ret;
}

问题和解决

任何时刻均可以读取芯片数据,但只能在INT为低电平期间才会有正确的触摸状态的数据
这一点我开始没有注意到,我是设定的上升沿进中断,读取的状态如下图
嵌入式开发--XW09A触摸芯片的使用,stm32,嵌入式,触摸,单片机,XW09A
SDA始终是高电平。
后来找厂家咨询,索要时序图,但未能提供,最后是把板子寄到厂家搞定,最后总结问题,才发现我的时序是上升沿进中断,改为下降沿进中断,然后读取i2c,一切正常,时序如下图:
嵌入式开发--XW09A触摸芯片的使用,stm32,嵌入式,触摸,单片机,XW09A
在解决问题期间,厂家的客服和技术支持表现出了极其负责的态度,在这里为他们点赞,也祝愿芯网公司产品大卖。
同时希望厂家能把PDF文档做得完善些,将INT,SDA,SCL的时序图放进去,如果PDF里面有这个图的话,可以让用户少走弯路。文章来源地址https://www.toymoban.com/news/detail-535899.html

到了这里,关于嵌入式开发--XW09A触摸芯片的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 嵌入式软件开发工程师应该关注芯片数据手册中的哪些信息

    1. 芯片的架构和处理器类型:了解芯片的架构和处理器类型可以帮助开发人员选择合适的开发工具和编程语言。 2. 芯片的时钟频率和电源要求:了解芯片的时钟频率和电源要求可以帮助开发人员设计合适的电路和电源系统。 3. 芯片的存储器类型和容量:了解芯片的存储器类

    2024年02月08日
    浏览(22)
  • 技术之外(02)猿创征文|宝藏工具篇|数字芯片设计,嵌入式开发,人工智能|没我可以,没你不行

    新芯设计:专注,积累,探索,挑战   由于工作的繁忙,已经有较长的时间没有发文了。偶然之间,在回复读者来信的时候,关注到了 CSDN 创作活动中的「 猿创征文 」 第四季 | 2022 年我的开发者工具 。这时才晃过神来,2022 年,已经跨入了倒数的一个四分之一,岁月的印

    2024年01月23日
    浏览(36)
  • 嵌入式培训机构四个月实训课程笔记(完整版)-Linux ARM驱动编程第三天-ARM Linux ADC和触摸屏开发 (物联技术666)

    链接:https://pan.baidu.com/s/1V0E9IHSoLbpiWJsncmFgdA?pwd=1688 提取码:1688   教学内容: 1 、 ADC S3C2440 的 A/D 转换器包含一个 8 通道的模拟输入转换器,可以将模拟输入信号转换成 10 位数字编码。 在 A/D 转换时钟频率为 2.5MHz 时,其最大转换率为 500KSPS ( 5 个时钟周期完成一次转换) 输

    2024年02月20日
    浏览(21)
  • TIA博途WINCC触摸屏VB脚本入门指南(嵌入式)

    在本篇文章中,我们将介绍TIA博途WINCC触摸屏VB脚本的入门知识,特别是在嵌入式环境下的应用。我们将详细解释如何使用VB脚本来编写触摸屏应用程序,并提供相应的源代码示例。 引言 TIA博途WINCC是一款广泛应用于工业自动化领域的触摸屏开发软件。它提供了丰富的功能和灵

    2024年02月04日
    浏览(49)
  • 【计算机三级嵌入式】考试自学笔记(三)——嵌入式系统硬件组成、嵌入式处理芯片以及存储器介绍

    常考知识点: 嵌入式最小硬件组成 嵌入式处理芯片 嵌入式系统的存储器 I/O接口及常用I/O设备 ARM内核典型嵌入式处理芯片 嵌入式系统外部通信接口 嵌入式最小硬件系统的组成如下: 嵌入式硬件系统≠嵌入式最小硬件系统 电源电路 :为整个嵌入式系统提供能量 时钟电路 :

    2023年04月12日
    浏览(51)
  • 嵌入式网络接口之MAC芯片与PHY芯片

    目录 0. 参考文档 1.嵌入式网络接口简介 2.嵌入式网络硬件架构方案 2.1 SOC内未集成MAC芯片 2.2 SOC内集成MAC芯片 2.3 主流方案总结 2.3 参照实际网卡的说明 3.MII/RMII及MDIO接口 3.1 MII 3.2 RMII 3.3 MDIO   网卡构造:MAC与PHY的关系,GMAC介绍_学海无涯_come on的博客-CSDN博客 对于上述三部分,

    2024年02月03日
    浏览(33)
  • 2022嵌入式芯片与系统设计竞赛

    2022嵌入式芯片与系统设计竞赛 这是我们第一次参加相关的学科竞赛,基本上算是摸着石头过河,尽管有老师和同学的帮助但是还是走了不少的弯路。我们属于中部赛区,选的是芯片应用赛道,使用的是赤菟CH32V307开发板。 我们的项目是:基于(CH32V307VCT6)的智能配送小车 该

    2023年04月09日
    浏览(17)
  • ARM/Linux嵌入式面经(二):芯片原厂

    UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种用于串行通信的协议,它使用一对传输线(TX和RX)进行双向通信。 UART通信通过串行传输数据,数据以字节为单位进行传输。每个字节由起始位、数据位、校验位和停止位组成。 当模块向UART发送数据信息时

    2024年04月10日
    浏览(22)
  • 嵌入式开发--CubeMX使用入门教程

    嵌入式开发–CubeMX使用入门教程 传统的单片机开发时,需要针对片上外设做各种初始化的工作,相当麻烦。 CubeMX是ST公司出品的一款图形化代码生成工具,通过图形化界面,可以非常直观的配置好各种片上外设,时钟,中断,DMA等等各种设备的参数,然后CubeMX可以直接生成初

    2024年04月12日
    浏览(35)
  • 嵌入式安卓开发:使用Camera2获取相机

    从 Android 5.0 开始, Google 引入了一套全新的相机框架 Camera2(android.hardware.camera2) ,并且废弃了旧的相机框架 Camera1(android.hardware.Camera) 。 Camera2相比于Camera的API不仅大幅提高了Android系统拍照的功能,还能支持RAW照片输出,甚至允许程序调整相机的对焦模式、曝光模式、快

    2024年02月09日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包