瑞萨RL78/F22 MCU基于IAR开发环境创建触摸应用样例工程
目录
| 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。
