RA8875 触屏控制

在网上看到不少人反映RA8875的触摸屏界面并不好用,并有不少人反映根本用不了的情况的。过年无聊在玩STM32F407和一个RA8875为核心的7寸屏幕的时候也遇到了不少的问题,就写出来跟大家分享一下。
1、RA8875的触摸屏自动模式:
    if (EnableTouchScreen)
    {               
        LCD_WriteReg(0x70,0x84);                                    //配置ADC
        LCD_WriteReg(0x71,0x05);                                    //启用自动模式,消去机械振动
        LCD_WriteReg(0xF0,0x04);                                    //开启屏幕触摸中断
    }
上面的代码能开启触摸屏自动模式。需要注意,当触摸事件发生并采样后,需要进行如下的操作
LCD_WriteReg(0xf1, 0x04);                                   //清除中断标志位
在清除了中断之后,RA8875才会又检测触摸事件,否则读取0x72~0x74的寄存器的值是不会改变的,中断也不会响应了。
2、RA8875的中断模式:
这时困惑我很久的一个问题,因为我安装上面的配置做好了程序之后,触摸事件并不会拉低中断脚。经过多次参考别人的程序之后,发现我比其他人多了一步:
SCREEN.WriteText(LCD_COLOR_BLUE,LCD_COLOR_GREEN,true,LCD_TEXT_4x,"abcdefg");
这个是我用C++写的一个类,作用是使用RA8875的文字功能在屏幕上输出字符串。代码中有一段:
LCD_WriteReg(0x40, 0xe0); 
这段代码使得RA8875进入了文字模式,而非位图模式。实际上,我将文字输出屏蔽之后,一切就正常了。这表明,RA8875在文字模式下,触摸触摸屏是不会拉低INT脚的。为了解决问题,我在WriteText最下面加了一句
LCD_WriteReg(0x40, 0x00);
重新使得RA8875回到位图模式,就可以正常使用了。
但实际上,使用自动模式的效果并不是太理想。实际程序运行的时候,当手指按到屏幕上会触发多次的触摸事件,但并不是每次的坐标都是正确的,特别是松手的时候,干扰特别大。所以使用触摸中断+扫描的方式或许是比较好的一个选择,这需要在软件上使用一个中值滤波器。
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: RA8875是一种常见的电容触摸屏驱动程序,适用于7寸电容触摸屏。以下是一个300字的中文回答: RA8875是一种集成了电容触摸屏控制功能的驱动程序,适用于7寸电容触摸屏。它能够通过软件进行初始化和配置,然后通过驱动电容触摸屏来实现用户的触摸输入。 在使用RA8875的过程中,首先需要进行初始化,包括设置分辨率、触摸屏参数等。接下来,我们可以使用预定义的函数来实现触摸屏的各种功能,比如获取触摸点的坐标、检测触摸状态等。 RA8875驱动程序支持多点触控,使得用户可以同时使用多个手指进行操作。它还提供了丰富的触摸手势功能,包括滑动、缩放等。 此外,RA8875驱动程序还提供了丰富的图形绘制功能,能够实现直线、矩形、圆形等基本图形的绘制。它还支持图像显示,可以通过加载图像文件来显示图片。 RA8875驱动程序还提供了丰富的字体绘制功能,支持各种字体的显示和打印。用户可以根据自己的需要进行字体大小、颜色的设置。 总的来说,使用RA8875驱动程序可以方便快捷地实现7寸电容触摸屏的驱动与控制,以及图形和文字的绘制。它为用户提供了丰富的交互功能,能够满足各种应用场景的需求。 ### 回答2: RA8875是一款常见的7寸电容触摸屏驱动程序。作为一款专为电容触摸屏设计的显示控制器,RA8875具有广泛的应用领域,包括工业控制、医疗设备、嵌入式系统等。 RA8875驱动程序的功能丰富,可以实现多种显示和触摸操作。通过驱动程序,用户可以设置显示屏的分辨率、亮度、对比度等参数,还可以实现图像的显示和刷新。同时,驱动程序还支持多种接口,例如SPI、I2C等,方便与外部设备的连接和通信。 在操作方面,RA8875驱动程序提供了丰富的指令和函数,用户可以通过编程来控制触摸屏的触摸操作。例如,可以通过驱动程序来检测并响应触摸屏的点击、滑动等手势操作。此外,驱动程序还支持多点触控,可以同时检测和处理多个触摸点的操作。 在开发过程中,用户可以根据具体需求,对驱动程序进行定制和优化。RA8875驱动程序提供了丰富的配置选项,可以灵活地调整显示效果和触摸响应。用户还可以根据需要,添加额外的功能和扩展,实现更复杂的应用。 总之,7寸电容触摸屏RA8875驱动程序是一款强大且灵活的工具,能够帮助用户实现各种显示和触摸操作。无论是在工业控制还是嵌入式系统中,使用该驱动程序可以提升产品的用户体验和功能性。 ### 回答3: 7寸电容触摸屏RA8875是一种常见的显示屏,它能够通过触摸来进行操作。为了使该触摸屏正常工作,我们需要编写相应的驱动程序。 首先,我们需要通过连接相关引脚来将触摸屏与单片机或开发板进行连接。通常情况下,RA8875驱动程序需要调用SPI(串行外设接口)来进行通信,并且需要连接到触摸屏的X、Y轴和触摸数据线。 接下来,我们需要编写驱动程序来初始化RA8875显示屏。这涉及到设置显示区域、颜色模式、背光等参数。我们还可以设置触摸屏的校准参数,以确保触摸位置的准确性。 然后,我们需要编写代码来读取触摸屏的数据。触摸屏通常会以坐标的形式返回触摸点的位置。我们可以使用SPI通信协议来读取这些数据,并将其转换为屏幕上的像素位置。 最后,我们可以编写一个简单的用户界面程序来实现图形化的操作。我们可以通过读取触摸屏的数据来检测用户的操作,如点击、滑动等,并相应地进行相应的操作。 总之,编写7寸电容触摸屏RA8875的驱动程序需要考虑到与单片机或开发板的连接、初始化显示屏、读取触摸屏数据以及实现相应的操作等方面的问题。通过编写完整的驱动程序,我们可以使用触摸屏来实现交互式的操作和界面。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值