作者
Sun Wei
嵌入式处理器事业部应用工程中心
瑞萨电子
★ 目录 ★
| 01 | 概述 |
| 02 | 瑞萨RL78/F25 Target Board简介 |
| 03 |
基于IAR创建触摸应用样例工程 基本的软件开发流程 在Smart Configurator中创建新工程 使用QE for Capacitive Touch开发触摸应用 在IAR中打开新工程并进行设定 添加应用代码实现LED闪烁 |
★ 概述 ★
本文包含以下主要内容
瑞萨RL78/F25 Target Board简介
基于IAR创建触摸样例工程
使用QE for Capacitive Touch开发触摸应用
触摸和LED闪烁演示
本文基于以下开发环境
1软件运行环境

硬件运行环境

瑞萨RL78/F25 Target Board简介
RL78/F25 target board(RTK7F125FPC01000BJ)


硬件运行环境搭建
硬件连接框图

基于IAR创建触摸样例工程
基本的软件开发流程
框图

在Smart Configurator中创建新工程
打开Smart Configurator
在菜单栏点击[File]->[New]->New Smart Configuration File
按下图所示进行设定
File Name: RL78F25_TB_TOUCH_SAMPLE
Location:D:IAR_Workspace

Smart Configurator
打开后如下图所示
默认显示Overview选项卡

Smart Configurator设定
Clocks选项卡
VDD Setting设定
2.7V ≤ VDD ≤ 5.5V
其他设置保持默认

System选项卡
按下图进行设定

Components选项卡
r_bsp设定
保持默认

Components选项卡
点击

按钮
在弹出的New Component对话框中选择Capacitive Sensing Unit driver.(r_ctsu)

Components选项卡
r_ctsu设定
根据实际电路设定触摸通道
勾选TSCAP
勾选TS2
勾选TS3


Components选项卡
点击

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

Components选项卡
rm_touch设定
按下图所示设定

Components选项卡
点击

按钮
在New Component对话框中选择UART Communication

Components选项卡
UART Communication设定
按下图所示设定

Components选项卡
UART Communication设定
Transmission选项卡
按下图所示设定

Components选项卡
UART Communication设定
Reception选项卡
按下图所示设定

Pins选项卡
确认UART的RXD0和TXD0引脚
RXD0:P16
TXD0:P15

Components选项卡
点击

按钮
在New Component对话框中选择Ports

Components选项卡
Ports设定
用于驱动User LED
按右图所示

Components选项卡
点击

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

退出Smart Configurator
[File]->Exit

在IAR EWRL中打开新工程及添加相关设定
在IAR Embedded Workbench for Renesas RL78中打开新创建的RL78F25_TB_TOUCH_SAMPLE
在菜单栏点击[File]->[Open Workspace]->New Smart Configuration File

在IAR Embedded Workbench for Renesas RL78中打开新创建的RL78F25_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供电电压(本例中使用仿真器供电3V)

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

调优(Tuning)前的准备工作
在IAR工程中添加qe_gen文件夹

调优(Tuning)前的准备工作
在IAR工程中添加qe_gen文件夹中的文件

调优(Tuning)前的准备工作
在IAR工程Options中添加qe_gen文件夹路径

调优(Tuning)前的准备工作
在IAR工程OptionsC/C++ CompilerPreprocessor选项卡中添加QE_TOUCH_CONFIGURATION宏定义

调优(Tuning)前的准备工作
在main.c中添加qe_touch_main()的声明和调用

调优(Tuning)前的准备工作
在Config_UART0_user.c中添加touch_uart_callback()的声明和调用

编译

调优(Tuning)前的准备工作
将E2 Lite连接PC以及RL78/F25 target board的CN3
将USB-Serial串口转换板连接到RL78/F25 target board的CN1
使用长45mmx宽25mmx厚2mm的亚克力板(用户自行准备)覆盖住电极区域
注意:不允许手指直接触摸电极,否则会导致短路或者测量不正确

调优(Tuning)前的准备工作
在PC上插入USB-Serial串口转换板,并在“设备管理器”中确认串口号

USB-Serial串口转换板

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

下载程序
点击Download and Debug按钮

运行程序
仿真器供电设定
在弹出的对话框中进行仿真器供电设定
选择3V仿真器供电

运行程序
点击Go按钮

Tuning
进行自动调优(Tuning)
点击Start Tuning按钮,在弹出的对话框中,设定正确的波特率和串口号,然后点击Connect

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

进行自动调优(Tuning)
进入需要用户参与的灵敏度测量步骤
用户需要使用正常压力按压触摸按键并保持,然后按下PC键盘上的任意键,生成默认的阈值,完成调优(Tuning)

进行自动调优(Tuning)
在弹出的对话框中,显示阈值/溢出信息/警告错误信息,用户点击Continue the Tuning Process按钮完成

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

输出自动调优(Tuning)产生的参数文件
点击Output Parameter Files

输出自动调优(Tuning)产生的参数文件
在弹出的对话框中,选择工程目录下的qe_gen文件夹

输出自动调优(Tuning)产生的参数文件
在工程目录下的qe_gen文件夹中查看新生成的参数文件
例如qe_touch_config.c中的按键阈值(threshold)等

停止运行程序,断开仿真器连接
重新编译工程
再次运行程序

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

在Console中确认连接状态
Connected to \.COM12

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

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

添加应用代码实现LED闪烁
应用代码添加
在qe_genqe_touch_sample.c中
LED1和LED2的宏定义
左右滑动查看完整内容
#define LED1 (P6_bit.no6) #define LED2 (P6_bit.no7) #define LED_OFF (1U) #define LED_ON (0U)

应用代码添加
在qe_genqe_touch_sample.c中
按下触摸按键后点亮LED1和LED2
左右滑动查看完整内容
/* TODO: Add your own code here. */
switch (button_status)
{
case CONFIG01_MASK_BUTTON00:
LED1 = LED_ON;
break;
case CONFIG01_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

全部0条评论
快来发表一下你的评论吧 !