瑞萨e2studio----触摸按键

描述

 

 

1.概述

 

    本篇文章主要介绍如何使用e2studio对瑞萨单片机进行触摸实验,并以LED显示。

 

 

2.硬件准备
 

    首先需要准备一个开发板,这里我准备的是芯片型号 R7FA2L1AB2DFL 的开发板。

 

 

3.安装QE

    

    若之前安装e2时没有安装QE,找到e2安装包,点击安装包进入安装界面安装QE。

开发板

 

 

4.新建工程
 

开发板

 

 

5.工程模板

 

开发板

 

 

6.保存工程路径
 

开发板

 

 

7.芯片配置
 

    本文中使用R7FA2L1AB2DFL来进行演示。

开发板

 

 

8.工程模板选择

 

开发板

 

 

9.LED配置

 

    由下图我们可以得知,板子上有2个LED灯,同时需要给高电平才可以点亮,故以P103管脚为例,配置方式如下所示。

开发板

 

开发板

 

 

10.触摸引脚配置
 

    板子上有2个触摸按键,分别是TS10/TS11。将引脚配置的操作模式设置从“禁用”更改为“已启用”,并使能P109/P110引脚。

开发板

 

开发板

 

 

11.触摸配置

 

    点击Stacks → New Stack → Middleware → CapTouch → TOUCH Driver on rm_touch。

开发板

    点击CTSU Driver on r_ctsu。

开发板

    点击DTC启用。

开发板

    点击Add DTC Driver for Transmission → New → Transfer Driver on r_dtc。

开发板

    点击Add DTC Driver for Reception → New → Transfer Driver on r_dtc ,并将配置生成并导入工程中。

开发板

 

 

12.创建触摸界面
 

    从菜单栏点击Renesas Views → Renesas QE → CapTouch Main / Sensor Tuner RA (QE) 。

开发板

    选择需要配置的项目,并创建新的配置。

开发板

    点击Button并放置,Esc键结束放置。双击Button00选择TS10/TS11,点击确定并创建。

开发板

 

 

13.调试配置

 

点击构建 → 调试配置 → 选择Startup → 选中 设置断点 和 继续 → 确定 。

开发板

 

 

14.触摸调试

开发板

用手触摸相应的按键,待黄条至顶按任意键。

开发板

此图可以看到触摸阈值。

开发板

 

 

15.输出工程文件
 

    点击输出工程文件。

开发板

    此时可以看到输出的工程文件。

开发板

 

 

16.触摸程序

 

    qe_touch_sample.c文件中加入触摸代码(触摸功能)。

开发板

 

 

17.触摸代码
 

    本章以点亮LED为例,代码如下。

 

/* TODO: Add your own code here. */
if(button_status==1)
{    
    err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);
}
else if(button_status==2)
{    
    err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_HIGH);
}        
else
{    
    err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);    
    err = R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_04, BSP_IO_LEVEL_LOW);
}

 

 

18.RM_TOUCH_Open()函数原型

 

开发板

    RM_TOUCH_Open()函数为执行TOUCH初始化。

 


/* Open Touch middleware */
err = RM_TOUCH_Open(g_qe_touch_instance_config01.p_ctrl, g_qe_touch_instance_config01.p_cfg);
if (FSP_SUCCESS != err)
{
    while (true) {}
}

 

 

19.RM_TOUCH_ScanStart()函数原型
 

开发板

    RM_TOUCH_ScanStart()函数为执行TOUCH扫描开启。

 


/* for [CONFIG01] configuration */
err = RM_TOUCH_ScanStart(g_qe_touch_instance_config01.p_ctrl);
if (FSP_SUCCESS != err)
{
    while (true) {}
}

 

 

20.RM_TOUCH_DataGet()函数原型
 

开发板

    RM_TOUCH_DataGet()函数为执行TOUCH数据获取。

 

err = RM_TOUCH_DataGet(g_qe_touch_instance_config01.p_ctrl, &button_status, NULL, NULL);
if (FSP_SUCCESS == err)
{
    /* TODO: Add your own code here. */
}

 

 

21.工程文件      
 

  在hal_entry.c中加入头文件#include "qe_touch_config.h"和qe_touch_main()。

开发板

    #include “qe_touch_config.h”和qe_touch_main()都在qe_touch_ sample中。
 

 

22.触摸监测
 

开发板

 

开发板

 

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分