隆太威电子网欢迎您!
新闻资讯

瑞萨RL78/F22 MCU基于IAR开发环境创建触摸应用样例工程

作者:    发布时间:2026-03-11 15:00:32    浏览量:

目录

01 概述
02 瑞萨RL78/F22 Target Board简介
03 基于IAR创建触摸应用样例工程
–在IAR中创建新工程
–在Smart Configurator中为工程添加驱动程序
–使用QE for Capacitive Touch开发触摸应用
–添加应用代码实现LED闪烁

1

概述

本文包含以下主要内容:

瑞萨RL78/F22 Target Board简介

基于IAR创建触摸样例工程

使用QE for Capacitive Touch开发触摸应用

触摸和LED闪烁演示

本文基于以下开发环境

软件运行环境

硬件运行环境

2

瑞萨RL78/F22 Target Board简介

瑞萨RL78/F22 target board

(RTK7F125FPC01000BJ)

硬件运行环境搭建

硬件连接框图

3

基于IAR创建触摸样例工程

基本的软件开发流程

框图

在Smart Configurator中创建新工程

打开Smart Configurator

在菜单栏点击[File]->[New]->New Smart Configuration File

按下图所示进行设定

File Name: RL78/F22_TB_TOUCH_SAMPLE

Location:C:RenesasIAR_Workspace

在Smart Configurator中为新工程添加驱动程序

Smart Configurator

打开后如下图所示

默认显示Overview选项卡。

Smart Configurator设定

Clocks选项卡

VDD Setting设定:

2.7V ≤ VDD ≤ 5.5V

其他设置保持默认。

System选项卡

按照下图进行设定

Components选项卡

r_bsp设定:

保持默认。

点击

按钮。

在New Component对话框中选择Capacitive Sensing Unit driver.(r_ctsu)。

r_ctsu设定

根据实际电路设定触摸通道:

勾选TSCAP;

勾选TS2;

勾选TS3。

点击

按钮。

在New Component对话框中选择Touch Middleware.(rm_touch)。

Components选项卡

rm_touch设定

按下图所示设定

点击

按钮。

在New Component对话框中选择UART Communication。

UART Communication设定

按下图所示设定:

UART Communication设定

Transmission选项卡

按下图所示设定:

UART Communication设定

Reception选项卡

按下图所示设定:

Pins选项卡

确认UART的RXD0和TXD0引脚:

RXD0:P16;

TXD0:P15。

点击

按钮。

在New Component对话框中选择Ports。

Ports设定

用于驱动Test LED。

按下图所示

点击

生成。

IAR工程文件、 Smart Configuration配置文件、驱动程序文件、main文件等等。

退出Smart Configurator

[File]->Exit

在IAR EWRL中打开新工程及添加相关设定

在IAR Embedded Workbench for Renesas RL78中打开新创建的RL78/F22_TB_TOUCH_SAMPLE。

在菜单栏点击[File]->[Open Workspace]->New Smart Configuration File。

在IAR Embedded Workbench for Renesas RL78中打开新创建的RL78/F22_TB_TOUCH_SAMPLE.eww。

在工程上单击鼠标右键,点击Options,在弹出的菜单中选择General Options。

Options设定

Device设定

按下图进行设定:

Stack/Heap设定

按下图进行设定:

编译工程

在工程上单击鼠标右键,在弹出的菜单中选择Rebuild All,编译完成后无错误。

使用QE for Capacitive Touch开发触摸应用

打开QE For Capacitive touch Ver4.20 Standalone版本。

各个窗口的功能说明见下图:

Preparation

工程设定

选择工程文件夹

选择MCU

Configuration

建立配置

建立配置

在画布中添加Button:

为Button设定触摸通道和阻尼电阻:(Button/TS02/560ohm, Button/TS03/560ohm)

点击Create完成设定。

输出调优(Tuning)需要的文件

输出到工程路径下新建的qe_gen文件夹。

输出调优(Tuning)需要的文件后,在弹出的对话框中,设定外设工作频率(本例中为32MHz)。

输出调优(Tuning)需要的文件后,在弹出的对话框中,设定MCU供电电压(本例中使用仿真器供电3.3V)。

输出调优(Tuning)需要的文件后,在弹出的对话框中,接下来将按照提示进行相关设定,为后续调优(Tuning)做准备。

调优(Tuning)前的准备工作

在IAR工程中添加qe_gen文件夹。

在IAR工程中添加qe_gen文件夹中的文件。

在IAR工程Options中添加qe_gen文件夹路径。

在IAR工程Options中添加qe_gen文件夹路径。

在IAR工程OptionsC/C++ CompilerPreprocessor选项卡中添加QE_TOUCH_CONFIGURATION宏定义。

在main.c中添加qe_touch_main()的声明和调用。

编译

将E2 Lite连接PC以及RL78/F22 target board的CN3。

将USB-Serial串口转换板连接到RL78/F22 target board的CN1和CN2。

使用长45mmx宽25mmx厚2mm的亚克力板(用户自行准备)覆盖住电极区域。

注意:不允许手指直接触摸电极,否则会导致短路或者测量不正确。

在PC上插入USB-Serial串口转换板,并在“设备管理器”中确认串口号。

USB-Serial串口转换板

仿真器设定

在工程Options中的Debugger设定中,设置仿真器为E2 Lite。

下载程序

点击Download and Debug按钮。

运行程序

仿真器供电设定:

在弹出的对话框中进行仿真器供电设定。

选择3V仿真器供电。

运行程序

点击Go按钮。

Tuning

进行自动调优(Tuning)

点击Start Tuning按钮,在弹出的对话框中,设定正确的波特率和串口号,然后点击Connect。

在弹出的对话框中,设定正确的外设时钟(本例中为32MHz),点击OK,开始自动调优(Tuning)。

按步骤显示自动调优(Tuning)对话框,如寄生电容测量,偏置电流调整等无需用户操作的步骤。

进入需要用户参与的灵敏度测量步骤

用户需要使用正常压力按压触摸按键并保持,然后按下PC键盘上的任意键,生成默认的阈值,完成调优(Tuning)。

在弹出的对话框中,显示阈值/溢出信息/警告错误信息,用户点击Continue the Tuning Process按钮完成。

自动调优(Tuning)完成后,在主页面的下方显示调优(Tuning)的结果,包括寄生电容值、驱动频率、阈值、扫描时间等。

输出自动调优(Tuning)产生的参数文件。

点击Output Parameter Files。

在弹出的对话框中,选择工程目录下的qe_gen文件夹。

在工程目录下的qe_gen文件夹中查看新生成的参数文件:

例如qe_touch_config.c中的按键阈值(threshold)等。

停止运行程序,断开仿真器连接。

重新编译工程;

再次运行程序。

Coding and Monitoring

设定正确的波特率、串口号,点击connect按钮进行连接。

在Console中确认连接状态:

Connected to \.COM25

在Board Monitor中,点击Enable Monitoring ,并在各个监控窗口中设定需要监控的Touch I/F。

按下触摸按键,即可在各个图形化窗口中进行Monitoring以及触摸参数调整。

添加应用代码实现LED闪烁

应用代码添加

在qe_genqe_touch_sample.c中

LED1和LED2的宏定义:

左右滑动查看完整内容

#defineLED1    (P0_bit.no0)
#defineLED2    (P14_bit.no0)


#defineLED_OFF   (1U)
#defineLED_ON   (0U)

在qe_genqe_touch_sample.c中

按下触摸按键后点亮LED1和LED2:

左右滑动查看完整内容

/*TODO:Add your own code here. */
switch(button_status)  
{
caseCONFIG01_MASK_BUTTON00:         
LED1 = LED_ON;         
break;
caseCONFIG01_MASK_BUTTON01:         
LED2 = LED_ON;         
break;
case(CONFIG01_MASK_BUTTON00 | CONFIG01_MASK_BUTTON01):         
LED1 = LED_ON;         
LED2 = LED_ON;         
break;    
default:        
LED1 = LED_OFF;        
LED2 = LED_OFF;        
break;  
}

编译运行后,按下触摸按键Touch Button1点亮LED1。

编译运行后,按下触摸按键Touch Button2点亮LED2。