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

硬件运行环境

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


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

基于CS+创建触摸样例工程
在CS+中创建新工程
打开CS+
在菜单栏点击[File]->[New]->Create New Project
按照下图所示进行设置
点击[Create]新建工程RL78F25_TB_TOUCH_SAMPLE

在Smart Configurator中为新工程添加驱动程序
打开Smart Configurator
双击[Smart Configurator Design Tool]

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选项卡
确认r_bsp
Initialization of peripheral functions by Code Generator/Smart Configurator
Enable
点击

生成驱动程序

返回到CS+窗口
确认驱动程序的添加

使用QE for Capacitive Touch开发触摸应用
打开QE For Capacitive touch Ver4.20 Standalone版本

Preparation
工程设定

工程设定
选择工程文件夹

选择MCU

Configuration
建立配置

建立配置
在画布中添加Button

建立配置
为Button设定触摸通道和阻尼电阻(Button00/TS02/560ohm,Button01/TS03/560ohm)

建立配置
点击Create完成设定

输出调优(Tuning)需要的文件
输出到工程路径下新建的qe_gen文件夹

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

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

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

调优(Tuning)前的准备工作
双击工程目录下的CC-RL(Build Tool),打开CC-RL Property

调优(Tuning)前的准备工作
在Common Options选项卡中Frequently used Options(for Compile)的Macro definition中添加QE_TOUCH_CONFIGURATION

调优(Tuning)前的准备工作
在Common Options选项卡中Frequently used Options(for Compile)的Additional include paths中添加qe_gen文件夹路径

调优(Tuning)前的准备工作
在Common Options选项卡中Frequently used Options(for Compile)的Additional include paths中添加qe_gen文件夹路径

调优(Tuning)前的准备工作
在Windows浏览器中找到工程文件夹下的qe_gen文件夹,拖拽到CS+中的工程目录的File下面

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

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

调优(Tuning)前的准备工作
仿真器设定–选择RL78 E2 Lite

调优(Tuning)前的准备工作
仿真器设定–选择仿真器供电

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

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

USB-Serial串口转换板

调优(Tuning)前的准备工作
编译并运行程序

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

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

进行自动调优(Tuning)
按步骤显示自动调优(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
在CS+中停止程序,断开仿真器连接,重新编译并运行
设定正确的波特率、串口号,点击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条评论
快来发表一下你的评论吧 !