基于RL78/G16 FPB的触摸样例工程创建演示流程

描述

 

基于RL78/G16 FPB的触摸样例工程创建

本篇将分两部分为大家介绍RL78/G16 FPB触摸样例工程创建演示,首先是RL78/G16快速原型开发板(FPB),然后是如何在e2 studio开发环境中创建触摸工程,以及通过添加LED点亮的应用代码来演示触摸按键按下抬起的效果。

RL78/G16快速原型开发板(FPB)

快速原型开发板FPB

创建工程

触摸和LED闪烁演示

开发环境

e2 studio:2023-10 (QE for Cap touch v3.4.0)

仿真器:E2 Lite2

开发板:RL78/G16快速原型开发板

*RL78/G16的Captouch开发必须使用3.2.0以上的版本

RL78/G16快速原型开发板FPB

仿真器

从开发板左侧注释来看,包含MCU Header、Pmod接口、Grove接口、用户LED、RL78/G16 MCU,USB Type C接口、电源LED,以及复位按键等等。

从开发板右侧注释来看,包含Arduino接口、Pmod接口、仿真器接口、用户按键、触摸Slider和button,以及MCU Header等等。

下面介绍如何在e2 studio中创建触摸工程

创建工程

首先打开e2 studio 2023-10

选择/设定工作空间

仿真器

新建基于Renesas CC-RL Tool chain的RL78工程

仿真器

设定工程名,新工程的Project Name以RL78G16_FPB_Touch_demo为例

仿真器

选择Tool chain,这里默认为Renesas CC-RL,Device选择RL78-G16 32pin R5F121BCxFP

仿真器

仿真器选择E2 lite(RL78)

仿真器

使用智能配置器

仿真器

来到智能配置器的Overview标签页,可以看到下方有board、clocks、System、components等选项卡

仿真器

Clocks选项卡中,设定工作模式,VDD setting设定为2.7V≤VDD≤5.5V

仿真器

System页根据需要来设定,例如在on-chip debug setting中,需要根据使用的仿真工具来设定,如当选择使用e2 lite时,选择使用Use emulator,然后设置使用RESET pin,以及复位产生电平为2.52V

仿真器

接下来在Components中添加相应的驱动,例如,首先添加触摸需要的r_ctsu,也就是触摸感应单元的底层驱动

仿真器

然后对r_ctsu进行配置,例如选择使用Tscap引脚以及使用的触摸通道

Button:TS06,TS07

Slider:TS08,TS09,TS12

仿真器仿真器

添加触摸需要的Touch middleware,也就是rm_touch,是button、slider、wheel等触摸应用的驱动

仿真器

然后对Touch middleware进行配置,由于RL78/G16需要使用串行通信进行Auto tuning process和monitor监控,这里要设定support QE monitor using UART为enable,support QE tuning using UART为enable,并设定UART通道为UART0

仿真器

然后添加Ports端口的驱动,在RL78/G16 FPB触摸样例工程创建演示中,我们使用通用IO来驱动LED的点亮

仿真器

使能PORT1的设定

仿真器

具体使用通用IO PORT1的P12和P15来驱动LED

LED1: P12 output

LED2: P15 output

仿真器仿真器

由于RL78/G16需要使用串行通信进行Auto tuning process,也就是自动调整过程,因此需要添加UART的驱动。这里设置为UART0通道,操作设定为发送和接收。

仿真器仿真器

下图是UART配置页面,发送和接收的波特率都设置为115200。

仿真器仿真器

此时智能配置器的设定就全部完成了,点击右上方的Generate code,然后编译程序。

编译完成后,进行debugger的配置,如果使用E2 lite或者EZ-Cube-2,EZ-cube3,那么在debugger选项卡里的Debugger hardware这里选择e2 lite(RL78)

仿真器

QE for CapTouch

完成以上设定,我们就可以通过QE for CapTouch工具来一步一步创建触摸应用程序了。首先打开QE for CapTouch的workflow工作流准备建立配置,在步骤一Preparation里的Select a Project里选择需要创建触摸应用的工程,然后在Prepare a Configuration里选择Create a new configuration

仿真器

这时,会弹出创建触摸接口的页面,在右侧触摸接口的列表里分别选择button和slider,并拖入左边的画布,然后为每一个触摸电极设定正确的触摸通道,可以看到在设定前每个触摸电极的颜色为红色

仿真器

在正确设定完成后,每个触摸电极的颜色变为绿色,点击Create按键,关闭页面

2 Button:TS06、TS07

1 Slider:TS12、TS09、TS08

仿真器

Auto tuning自动调整步骤之前,需要先开始自动调整前的准备。设定串口中断服务程序,由于需要使用串口连接目标板进行Tuning,因此需要添加建立串口连接的相关代码,例如,在Config_UART0_user.c中,在相应位置正确添加touch_uart_callback(uint16_t event) 函数的声明和相关调用

仿真器

然后在第二步Tuning Touch Sensors步骤里点击Output files,这会在工程目录下生成qe_gen文件夹以及相关文件。

主程序中,添加qe_touch_sample.c中void qe_touch_main(void);函数声明,以及main函数中对 “qe_touch_main();”的调用。

然后编译程序,并运行程序

仿真器

硬件连接

连接仿真器-E2-Lite,连接PC。硬件连接完成后,进入仿真状态,运行程序。

仿真器

QE for CapTouch

点击Start Tuning进入自动调整,在这个步骤里,完成触摸电极寄生电容的测量、偏置电流的调整、以及灵敏度的调整。这里不做过多介绍。

仿真器仿真器

注意,波特率和Port端口要设定正确。

自动调整完成后,会显示调整的结果,在列表中显示了寄生电容、sensor驱动频率,阈值以及扫描时间等信息

仿真器

点击Output Parameter Files,输出自动调整的结果参数文件,并在工程目录下生成qe_gen文件夹以及三个配置文件,包括qe_touch_config.c, qe_touch_config.h,qe_touch_define.h.

仿真器

注意,这三个文件在auto tutuning自动调整步骤中已经生成过,此处会覆盖之前生成的同名文件

在第三步Coding步骤中,点击Show Sample,输出触摸Sample code

仿真器

在弹出的对话框中,可以先预览即将生成的Sample,然后点击Output a file即可,在demo工程目录下的qe_gen文件夹中将生成sample code文件,qe_touch_sample.c

仿真器

注意,这个文件在auto tutuning自动调整步骤中已经生成过,此处会覆盖之前生成的同名文件

触摸Sample Code主要由qe_touch_main函数组成,包含了触摸应用的主要函数API的循环调用,例如rm touch Open,完成触摸驱动的初始化,rm_touch_scanstart启动触摸通道的测量,rm touch dataget,取得button、slider、wheel的触摸结果,并保存在button status、slider position、wheel position三个变量中

仿真器

根据Button1和Button2的状态点亮LED的Sample Code

LED1、LED2宏定义、初始化

下面,我们添加LED点亮的应用代码,首先在qe_touch_sample.c中,添加USER_LED1和USER_LED2的宏定义以及完成初始化

仿真器

然后在RM_TOUCH_DatayGet()函数后添加按键判断的应用代码,然后编译,至此,Demo的样例代码就完成了。

仿真器

编译完成,进入仿真状态,在QE for CapTouch的第四步Monitoring监控里,点击Connect,通过串口建立连接,然后点击Monitoring步骤中的Show View按键

仿真器

在打开的多个监控窗口中,即可以图形方式来查看触摸按键的相关效果,比如左上角的board monitor 视图里可以显示触摸行为,左下角的multi status chart视图窗口可以显示多个按键的测量计数值曲线,中间的status chart视图里可以显示单个按键的计数值、参考值、阈值、信噪比等具体信息,最右侧的parameter参数窗口显示当前触摸按键运行参数的设定值。

仿真器

 




审核编辑:刘清

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

全部0条评论

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

×
20
完善资料,
赚取积分