瑞萨单片机william hill官网
直播中

VR小杰

未满1年用户 37经验值
擅长:控制/MCU
私信 关注

【RA-Eco-RA4E2-64PIN-V1.0开发板试用】01、点亮LED

0 前言

搭建好环境之后,通过点亮LED灯,来测试一下开发板功能并熟悉e2s写代码的流程。

1 硬件部分

通过查阅开发板原理图得知,这款RA-Eco-RA4E2-64PIN-V1.0开发板上载有两个LED灯,在板子实物的位置如下图所示:
LED在开发板位置.jpg

通过原理图能知道,它们分别连接了P113和P207引脚,这也能为下一部分的软件配置做了铺垫。LED原理图.jpg

2 软件部分

2.1 新建工程

将先前创建的工程模板文件夹复制一份,并将文件夹重命名为01_LED

在e2s里面,按下面几张图所示的步骤进行项目的导入。导入项目1.jpg
导入项目2.jpg

导入项目3.jpg

2.2 配置工程

双击e2s界面左侧的项目资源管理器当中的configuration.xml文件,在中间选择Pins,找到P113引脚,将Mode设置为Output Mode(Initial High) 。同理,将P207引脚也按上述方式设置。
配置pin 1.jpg

配置完成后,在Stacks里面就能看到IDE自动为我们添加的io port模块
配置pin 2.jpg

保存配置文件,并点击Generate Project Content让其自动为我们生成代码。

2.3 编写代码

双击打开项目资源管理器中的src/hal_entry.c文件,在hal_entry函数中开始编写驱动LED亮灭的代码。
code 1.jpg

到了编写代码这步,可能你会想,我怎么知道要调用哪些函数呢?是不是还要去翻阅API文档?

其实不用多虑,在e2s的左侧有 Developer Assistant ,它能帮助我们快速找到io port库下面的各个函数,如下图所示:
code2.jpg

比如我在这里要用到R_IOPORT_PinWrite函数,就可以依次展开栏,将call R_IOPORT_PinWrite()拖放到源文件任意位置。

接下来使用R_IOPORT_Open函数打开端口,然后写一个while(1)死循环,循环内先调用两次R_IOPORT_PinWrite函数,将P113和P207引脚置为高电平,调用R_BSP_SoftwareDelay延时500ms,再置为低电平、延时500ms。最终在hal_entry内的自定义代码如下:

R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg); //打开端口。此处可省略,因为在R_BSP_WarmStart已自动打开
    while(1){
       //将P113和P207都置为输出高电平(亮)
       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_13, BSP_IO_LEVEL_HIGH);
       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_07, BSP_IO_LEVEL_HIGH);
       R_BSP_SoftwareDelay(500 ,BSP_DELAY_UNITS_MILLISECONDS); //delay 500ms
       //将P113和P207都置为输出低电平(灭)
       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_13, BSP_IO_LEVEL_LOW);
       R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_02_PIN_07, BSP_IO_LEVEL_LOW);
       R_BSP_SoftwareDelay(500 ,BSP_DELAY_UNITS_MILLISECONDS);
    }

3 下载测试

点击左上角的小锤子按钮,构建项目,输出内容Build Finished. 0 errors, 0 warnings.即为成功。

下载程序,验证LED灯是否按预期的间隔亮灭。
点灯实物图.jpg

4

*附件:01_LED.zip

更多回帖

发帖
×
20
完善资料,
赚取积分