小学生
最后登录1970-1-1
在线时间 小时
注册时间2021-7-13
|
本帖最后由 shahuhu 于 2023-7-14 15:10 编辑
本帖最后由 hunt 于 2023-7-4 09:34 一、项目简介
本项目计划基于野火瑞萨启明6M5平台,启用时钟功能与软件IIC,测试FTP等组件,以此来评估后续项目中是否可以采用此平台。
二、项目说明
前期准备
首先基于野火瑞萨RA系列FSP库开发实战指南安装瑞萨的相关可视化配置工具及SDK,安装flash烧写软件。
然后根据前几章的内容熟悉FSP库开发,调试RTC和模拟IIC。
三、方案设计
技术要点
1.首先移植OLED 模拟IIC程序(由于硬件IIC引脚未引出,只能使用软件IIC来实现)
2.启用RTC模块
3.编写程序
1.创建新工程
选择芯片
2.移植OLED (参考了 (1条消息) 瑞萨e2studio(17)----IIC,12864OLED移植_瑞萨iic_记帖的博客-CSDN博客)
1.创建三个文件
软件模拟iic:打开两个引脚并且置高
更改oled.h的文件
引脚重定义改为
- #define OLED_SCLK_Clr() R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_LOW)//SCL
- #define OLED_SCLK_Set() R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, BSP_IO_LEVEL_HIGH)
- #define OLED_SDIN_Clr() R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_01, BSP_IO_LEVEL_LOW)//SDA
- #define OLED_SDIN_Set() R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_01, BSP_IO_LEVEL_HIGH)
复制代码 即可使用oled显示函数来进行显示
3.设置RTC(参考了 (1条消息) 瑞萨e2studio(19)----RTC时钟日历&闹钟&周期性中断_瑞萨单片机rtc时间太快_记帖的博客-CSDN博客)
可以用R_RTC_Open()函数初始化和开启RTC时钟- /* Initialize the RTC module*/
- err = R_RTC_Open(&g_rtc0_ctrl, &g_rtc0_cfg);
- /* Handle any errors. This function should be defined by the user. */
- assert(FSP_SUCCESS == err);
复制代码
初始化时间函数R_RTC_ClockSourceSet()
- //初始化时间参数
- fsp_err_t err;
- rtc_time_t set_time =
- {
- .tm_sec = 0, /* 秒,范围从 0 到 59 */
- .tm_min = 20, /* 分,范围从 0 到 59 */
- .tm_hour = 19, /* 小时,范围从 0 到 23*/
- .tm_mday = 12, /* 一月中的第几天,范围从 1 到 31*/
- .tm_mon = 7, /* 月份,范围从 0 到 11*/
- .tm_year = -133, /* 自 1900 起的年数,2021为121*/
- .tm_wday = 5, /* 一周中的第几天,范围从 0 到 6*/
- // .tm_yday=0, /* 一年中的第几天,范围从 0 到 365*/
- // .tm_isdst=0; /* 夏令时*/
- };
- R_RTC_ClockSourceSet(&g_rtc0_ctrl);
复制代码
四、调试验证
JFlashLite.exe下载功能验证
b站视频链接:【野火】瑞萨RA MCU创意氛围赛 实时获取时间的智能装置_哔哩哔哩_bilibili
五、总结
本次评测发现瑞萨e2studio比较好用,集成度较强,上手较为容易。不过RA6M5大部分外设都已经集成好,导致一些硬件IIC与SPI无法引出使用。 |
|
|