完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
RA4L1-SENSOR 套件基于瑞萨 RA4L1 系列微控制器,完美实现了低工作电压、低功耗与高性能之间的理想平衡。RA4L1 微控制器具备多种低功耗功能,包括段码 LCD 显 示驱动器、高级安全引擎、RTC、ADC、定时器和低功耗 UART 等通信接口,用户可以根据具体应用需求灵活优化功耗与性能的平衡。这使其成为工业自动化、家电、智能家居、消费电子、楼宇自动化以及医疗保健等领域的理想选择。 此外,该套件还包括传感器(SENSOR)系列接口、Arduino Uno 扩展接口,并提供对微控制器所有引脚的通孔访问,大大提升了系统的扩展性,助力开发者在高效、灵活的开发环境中进行创新设计。先参考电路图,查询要使用的引脚:
使用Jlink(硬件版本要8.0以上)进行调试,为了检测光照传感器的模拟电压输入,使用了P510引脚,硬件接线如图:
在新建工程过程中发现FSP版本要在5.80以上才能找到测试芯片,所以重新安装了e2stduio,按部就班新建工程: 选择芯片: 因为外部晶振是8MHz,所以需要在时钟设置位置进行设置: 使能串口时钟: 添加TOUCH驱动 通过点击New Stack->CapTouch->Touch添加触摸组件 电容触摸主要有P103和P102两个管脚: 配置这2个引脚为电容触摸模式,查看说明可以得知需要DTC组件,点击Add DTC Driver for Reception,选择 New > Transfer(r_dtc) 来添加dtc驱动程序。 要注意TSCAP接到P500 配置CapTouch 从e2 studio的菜单中,选择瑞萨视图 > Renesas QE > CapTouch Workflow (QE)打开配置电容触摸的主要视角,这里要注意QE插件如果没有需要在线安装。 打开后可以看到具体的配置流程。 按照步骤完成设置和触摸按键调试; 执行“准备配置” , 通过使用下拉菜单并选择Create a newconfiguration创建一个新的Touch配置: 执行“准备配置” , 通过使用下拉菜单并选择Create a newconfiguration创建一个新的Touch配置,可以通过Button添加电容触摸按钮,具体流程如下所示。 1.从右侧选择Button菜单项并将鼠标移动到画布上。 2.点击鼠标左键来放下按钮图标。开发板上有2个电容触摸按钮,可以添加两个按钮。 3.两个按钮添加完成后,按侧选择Button菜单可以退出放置。 如果按键没有和引脚关联,会呈现红色,点击选择引脚进行关联(分别关联P103和P102两个管脚,还要选择)之后会变成绿色: 点击按键进入触碰按键调参: 按照英文提示进行按键测试,完成之后出现: 点击按键继续,点击输出按键参数文件; 查看“项目资源管理器”窗口,看到已添加文件。这些文件包含所需的调整信息,以启用触摸检测。通过电容触摸点亮LED,要实现电容触摸状态的应用程序代码,请单击“Show Sample(显示示例)”按钮; 新的菜单窗口会将打开,显示文本中的示例代码。单击“Output to a File(输出到文件)”按钮。创建了一个描述示例代码的新项目文件。在“项目资源管理器”窗口中,会看到已添加qe_touch_sample.c文件: 打开hal_entry.c,在示例主程序中添加qe_touch_main()函数: 配置LED的管脚P610与P609,这步骤如图; 在qe_touch_sample.c中添加触摸按键点亮LED,这里的代码还加上了串口打印输出语句。 void qe_touch_main(void) { fsp_err_t err; /* Open Touch middleware */ err = RM_TOUCH_Open(g_qe_touch_instance_config01.p_ctrl, g_qe_touch_instance_config01.p_cfg); if (FSP_SUCCESS == err) { } /* Main loop */ while (true) { /* for [CONFIG01] configuration */ err = RM_TOUCH_ScanStart(g_qe_touch_instance_config01.p_ctrl); if (FSP_SUCCESS != err) { while (true) {} } while (0 == g_qe_touch_flag) {} g_qe_touch_flag = 0; err = RM_TOUCH_DataGet(g_qe_touch_instance_config01.p_ctrl, &button_status, NULL, NULL); if (FSP_SUCCESS == err) { /* TODO: Add your own code here. */ /* TODO: Add your own code here. */ if(button_status & (0b1 ) ) { R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_HIGH); printf("hello TS01\n"); } else { R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_09, BSP_IO_LEVEL_LOW); } if(button_status & (0b10) ) { R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_HIGH);printf("hello TS02!\n"); } else { R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_06_PIN_10, BSP_IO_LEVEL_LOW); } } /* FIXME: Since this is a temporary process, so re-create a waiting process yourself. */ R_BSP_SoftwareDelay(TOUCH_SCAN_INTERVAL_EXAMPLE, BSP_DELAY_UNITS_MILLISECONDS); } } 串口硬件使用了P110和P109,如图: 需要在图形设置界面进行相应配置,选择UART(r_sci_uart),然后设置UART参数; 需要注意的是uart_sci需要选择9通道才能选择到打对应引脚;
选择设置串口引脚;
设置通信协议、波特率、回调函数名等内容; 如果堆栈大小不够,会有程序跑飞等风险,所以设置堆栈为0x2000; 自动生成代码,编写通信程序,使用printf重新定位,添加如下代码; #ifdef __GNUC__ //串口重定向
#else
#endif PUTCHAR_PROTOTYPE {
} int _write(int fd,char *pBuffer,int size) {
} C++ 构建->设置->GNU ARM Cross C Linker->Miscellaneous去掉Other linker flags中的 “–specs=rdimon.specs” 最后调试效果是按键TS1LED亮,按键TS2另一个LED亮,还通过串口输出: |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
836 浏览 0 评论
【瑞萨RA6E2】 配置Keil开发环境+使用按键控制LED+串口/调试器烧录程序
545 浏览 0 评论
1109 浏览 0 评论
【瑞萨RA6E2】驱动 WS2812 实现 RGB 跑马灯效果
1024 浏览 0 评论
786 浏览 0 评论
2583浏览 6评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】RA0E1-32PIN-V1.0开发板测试一下点灯
3268浏览 3评论
3719浏览 2评论
【RA-Eco-RA2E1-48PIN-V1.0开发板试用】使用Jlink RTT完成printf打印功能
1473浏览 2评论
【RA-Eco-RA0E1-32PIN-V1.0开发板试用】配置开发环境和编写一个点灯程序
2379浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 06:57 , Processed in 0.819284 second(s), Total 67, Slave 51 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
647