E2Studio软件支持工程的创建、代码修改和编译仿真等功能。上手也是非常简单的。
新建工程和配置
打开E2Studio软件后,点击软件的左上角的文件,然后依次点击新建、瑞萨C/C++项目和Renesas RA。如下图所示
点击Renesas RA C/C++Progect,如下图
然后是填写工程名称和存放路径,存放路径默认是选择和E2Studio软件配置文件路径的文件夹下,去掉使用缺省位置前的√可以修改存放路径。
点击下一步,进入芯片型号选择界面在Device选项选择R7FA2E1A72DFL,然后就是多次默认选项点击下一步。
最后点击完成后会出现是否打开透视图的提示,点击打开,找到pin选项配置LED对应的GPIO引脚,配置结果如下
其中的P103和P104是根据原理图进行配置的,对应的原理图如下
然后就是保存配置,可以使用快捷键Ctrl+S。保存后点击Generate Project Content自动生成代码。
与其他单片机代码架构不一样的是瑞萨的用户程序是从hal_entry函数开始的。这一点在函数定义的上方有注释。hal_entry函数的位置在src文件夹下。用户新建的.c和.h文件可以放到这个文件夹下,不需要像MDK那样需要将.c文件加入到工程中和配置.h的文件。
在src文件夹中新建bsp_led.h文件,文件内容如下
- #ifndef __BSP_LED_H
- #define __BSP_LED_H
- #include "bsp_api.h"
- #include "hal_data.h"
- #define OFF (0U)
- #define ON (1U)
- #define LED1_PIN BSP_IO_PORT_01_PIN_04
- #define LED2_PIN BSP_IO_PORT_01_PIN_03
- #define LED1_ON R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED1_PIN, ON); R_BSP_PinAccessDisable();
- #define LED1_OFF R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED1_PIN, OFF); R_BSP_PinAccessDisable();
- #define LED1_TOGGLE R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED1_PIN, !R_BSP_PinRead(LED1_PIN)); R_BSP_PinAccessDisable();
- #define LED2_ON R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED2_PIN, ON); R_BSP_PinAccessDisable();
- #define LED2_OFF R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED2_PIN, OFF); R_BSP_PinAccessDisable();
- #define LED2_TOGGLE R_BSP_PinAccessEnable(); R_BSP_PinWrite(LED2_PIN, !R_BSP_PinRead(LED2_PIN)); R_BSP_PinAccessDisable();
- #endif
复制代码
其中定义了LED1和LED2的引脚和亮灭的控制宏指令。
在hal_entry函数先定义延时相关的函数,也是参考E2Studio软件生成其他板卡的方法。
- /* Define the units to be used with the software delay function */
- const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS;
- /* Set the blink frequency (must be <= bsp_delay_units */
- const uint32_t freq_in_hz = 2;
- /* Calculate the delay in terms of bsp_delay_units */
- const uint32_t delay = bsp_delay_units / freq_in_hz;
复制代码
之后写入如下代码
实现的功能是让LED1和LED2每隔一定时间翻转一下LED引脚的输出电平。
效果演示
通过串口下载程序到板卡上,改变跳线帽的位置并按Reset复位按键。效果如下
|