1. 概述

RA2E1 产品群是 RA 系列的入门级单芯片微控制器,基于48 MHz Arm® Cortex®-M23 内核,具有高达 128 kB 的代码闪存以及 16 kB 的 SRAM 。 这款产品采用优化的制程和瑞萨电子的低功耗工艺技术,是业界一流水平的超低功耗微控制器。RA2E1 产品支持 1.6V 至 5.5V 的宽工作电压范围和多种封装(25 引脚封装扩展至 64 引脚封装),特别适用于电池供电应用以及空间受限应用,以及其他需要高性能和低功耗的系统。并具有增强型电容式触摸感应单元 (CTSU),最多可以支持30个触摸按键。

本文介绍基于e2studio开发环境,介绍通过FSP配置生成RA2E1触摸按键代码,以及触摸灵敏度的调试。

软件准备: e² studio 2021-10 或者更新版本, gcc arm编译器,FSP3.6,  Renesas QE for Capacitive Touch    3.0.2。

硬件准备:EK-RA2E1,CPK-RA2E1或者任意一个RA2E1的板子。

2.工程配置

1. 新建一个RA C/C++ 可执行工程

2.  输入工程名称,选择文件路径。

3. 选择FSP版本,板子芯片(本文为RA2E1A7DFL,根据板子情况可以是EK-RA2E1或CPK-RA2E1)。

4. 选择工程类型。

5. 选择工程模板。

6. 完成之后可以打开 FSP的配置,点击BSP可以看到BSP的配置属性。

如果没有出现FSP的属性,可以通过 Window -> Show View -> Properites打开。

7. 点击Stacks标签,点击 New Stack,分别添加CapTouch -> CTSU(r_ctsu) 驱动以及 CapTouch -> Touch(rm_touch)中间件。

8. 点击 Add DTC Driver for Transmission 以及 Add DTC Driver for Reception,使能DTC。

9. 点击Stack里面的 CTSU,查看属性,配置Support for using DTC-> Enabled,同时点击小Pins小箭头切换至管脚Pins配置。

10. 在Pins标签里面配置TSCAP管脚,以及相应的触摸通道管脚。配置完成按Generate Project Content生成代码。

11. 这时候项目生成了包含BSP, r_ctsu, rm_touch的代码。

3.QE 配置触摸按键

1. 打开CapTouch Main(QE)。

2. 点击Select the target project选择工程 ra2e1_touch。点击To Prepare a Configuration 下拉,选择新建一个配置文件。

3. 配置文件如下配置。点击Button 并移动到中间空白处点击,鼠标左键单击添加一个Button,添加完之后,按 “ESC“键退出添加Button。

4. 双击 Button00可以修改Touch Sensor的属性,指定Touch Sensor,以及对应的Resistance。

5. 配置完成,所有Button显示为绿色,可以点击Create创建配置文件。

6. 回到Touch main窗口,确保电脑通过仿真器连接RA2E1板子,点击Start Tuning。

7. e² studio编译器自动编译,并下载到芯片,显示如下界面。

8. 如果顺利会自动去到第5步,这时会提示触摸按键Button00。

9. 用手指触摸按键Button00, 显示如下触摸值,这时候同时按下键盘任意键确认。

10. Button01可以同样调整。调整完成后显示如下界面,点击Continue the Tuning Process。

11. 回到CapTouch Main(QE),点击 Output Parameter File。

12. 点击Show Sample。

13. 显示如下内容,点击Output to a File输出触摸按键处理文件。

14. 最终生成的文件如下。

4.添加代码

hal_entry.c 修改如下代码,在hal_entry()函数调用qe_touch_main(),并编译工程。

extern void qe_touch_main(void);void hal_entry(void)
{/* TODO: add your own code here */qe_touch_main();
#if BSP_TZ_SECURE_BUILD/* Enter non-secure code */R_BSP_NonSecureEnter();
#endif
}

5. 仿真调试

1. 在CapTouch Main(QE)窗口,点击Show Views打开CapTouchStatus窗口。

2. CapTouch Status 窗口如下,可以通过Touch I/F 选择触摸通道。

3.  通过 Renesas View -> Renesas QE -> CapTouch Multi Status Chart,打开多路触摸检测窗口。同理可以打开CapTouch Pad Monitor检测窗口。

4. 全速运行程序,并打开监控(Enable Monitoring),可以看到 下面两个窗口显示了Touch 的测量值。下面为按下按键1的情况。

6. 用户代码添加

qe_sample_main.c文件内容如下。

#include "qe_touch_config.h"
#define TOUCH_SCAN_INTERVAL_EXAMPLE (20)    /* milliseconds */void qe_touch_main(void);uint64_t button_status;
#if (TOUCH_CFG_NUM_SLIDERS != 0)
uint16_t slider_position[TOUCH_CFG_NUM_SLIDERS];
#endif
#if (TOUCH_CFG_NUM_WHEELS != 0)
uint16_t wheel_position[TOUCH_CFG_NUM_WHEELS];
#endifvoid qe_touch_main(void)
{fsp_err_t err;/* 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) {}}/* Main loop */while (true){/* for [CONFIG01] configuration */err = RM_TOUCH_ScanStart(g_qe_touch_instance_config01.p_ctrl);if (FSP_SUCCESS != err){while (true) {}}while (0 == g_qe_touch_flag) {}g_qe_touch_flag = 0;err = RM_TOUCH_DataGet(g_qe_touch_instance_config01.p_ctrl, &button_status, NULL, NULL);      // scan the key data,save to button_statusif (FSP_SUCCESS == err){/* TODO: Add your own code here. */}/* FIXME: Since this is a temporary process, so re-create a waiting process yourself. */R_BSP_SoftwareDelay(TOUCH_SCAN_INTERVAL_EXAMPLE, BSP_DELAY_UNITS_MILLISECONDS);}
}

可以见用户的代码一般需要在qe_touch_main()的主循环里面添加。

瑞萨 RA2E1 触摸按键使用例程相关推荐

  1. 【致敬嵌入式攻城狮第2期活动预热征文】解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: ‘board_cfg.h‘ file not found

    解决瑞萨RA2E1开发板在RT-Thread的版本中编译报错 error: 'board_cfg.h' file not found 继上上周在RA2E1开发板上跑通了RT-Thread最新版本的代码 ...

  2. 支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了

    支持RT-Thread最新版本的瑞萨RA2E1开发板终于要大展身手了 熟悉RT-Thread和瑞萨MCU的朋友都知道,当前RT-Thread仓库的主线代码是不支持RA2E1这个BSP的.刚好,最近我在 ...

  3. 瑞萨MCU单片机资料R5F100LEA RL78G13视频例程软件

    瑞萨单片机资料_RL78/R5F100LEAFA大学生电子竞赛专用芯片资料_源程序+软件+视频讲解 瑞萨单片机_全国大学生电子设计大赛开发板配套光盘_2015年电赛_2013年电赛_瑞萨MCU单片机R ...

  4. [ARM入门]瑞萨单片机RA族开发环境搭建

    接触瑞萨是因为我们的产品真的很难找到MCU来替代了,从最开始的STM32,磕磕绊绊开发完成,结果ST涨价缺货,我们换了GD32,将功能转移完成,测试通过后GD也陷入了交货困难,亏得我之前还发帖子介绍了 ...

  5. 32怎么将mcu内的代码擦除_凭借这款MCU产品,瑞萨电子竟然超越了ARM?

    "在中国,每十个单片机便有一个来自于瑞萨."瑞萨电子中国通用电子事业本部市场部高级专家姜汉明如是说道. 瑞萨电子中国通用电子事业本部市场部高级专家姜汉明 这不仅是一份骄傲,也是市场 ...

  6. 瑞萨e2studio(1)----瑞萨芯片之搭建FSP环境

    瑞萨e2studio.1--瑞萨芯片之搭建FSP环境 视频教学 csdn课程 样品申请 e2studio软件 开发板 最后 视频教学 https://www.bilibili.com/video/BV ...

  7. 瑞萨e2studio(5)----使用UART串口烧写程序到瑞萨芯片

    瑞萨e2studio.5----使用UART串口烧写程序到瑞萨芯片 概述 视频教学 csdn课程 样品申请 硬件准备 软件准备 hex文件准备 UART串口与瑞萨开发板进行接线 烧录 概述 本篇文章主 ...

  8. 【瑞萨RA4系列】开发环境搭建和点灯指南

    [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 文章目录 [瑞萨RA4系列开发板体验]开发环境搭建和新手点灯指南 一.简单开箱 二.芯片简介 三.开发环境搭建 2.1 安装FSP(RASC) ...

  9. 瑞萨RAe2studio快速上手视频笔记 一、瑞萨RAe2studio介绍

    一.概述 分享自己通过瑞萨官网RA资料的学习,快速上手RA MCU.主要引用官方资料和例程,注明出处,创建自己的git仓库,更加"接地气"的分享RA&e2studio的学习 ...

最新文章

  1. 『TensorFlow』卷积层、池化层详解
  2. HDU3007(最小圆覆盖问题)
  3. 面试题:冒泡排序的优化
  4. 读取csv数据存到list,批量写入mysql
  5. python数据分析实况_机器学习竞赛分享:通用的团队竞技类的数据分析挖掘方法...
  6. Qt 加载QML 文件的几种方式
  7. Windows系统的MySQL目录结构
  8. 为什么是先更新数据库再删除缓存,而不是更新缓存?
  9. 仅需1秒!搞定100万行数据:超强Python数据分析利器
  10. oracle无法远程安装,docker部署Oracle,无法远程连接(已解决)
  11. Adobe 发布十月补丁日仅为修复一个严重漏洞
  12. JVM 方法调用之动态分派
  13. 拒绝Wakelock提高续航!安卓省电优化攻略
  14. csdn中让图片居中
  15. FPGA之SDRAM控制器设计(四)
  16. 怎样做50+女性的生意: 渠道变革/多品牌策略催生10亿元级中老年女装品牌
  17. 动态生成的chosen实现模糊查询
  18. 零延迟!海康大华宇视网络监控摄像头RTSP浏览器网页无插件播放终极解决方案
  19. 13个最狂帅炫酷的前沿科技研究项目
  20. Flow-edge Guided Video Completion

热门文章

  1. 美元对人民币汇率的大数据分析与预测
  2. PM撸代码之Android【绝顶高手排行榜】
  3. 递归题目练习---扭蛋机
  4. Oracle Database-数据处理和表的管理部分
  5. 一支口红用了5年_一支口红多久该扔掉?保质期过了还能用吗?
  6. Flutter在Android平台实现消息推送
  7. 2021年度排第一名的微信段子,笑晕了,太经典
  8. Gitlab备份和恢复操作记录
  9. 人脸识别、人证比对核验数据特点
  10. 爬虫进阶:使用fiddler抓取手机app数据